Sometime recently* Google has added ‘geo-filtering’ and attribute filtering to the Google Maps Data API, I haven’t seen any announcement of this or other mention (if it was, it was below my radar), other than a tiny footnote in an Article about doing geo-queries on AppEngine.
Anyway for people not aware of the Google Maps Data API, its basically a programmatic access method to the ‘My Maps’ feature of Google Maps. So with the API you can use Google Maps as your Geo-Database. (Subject I believe to a limit of 10,000 features per ‘Map’, but can have many maps)
However it wasn’t all that useful, as all you could do was inject your data, or read it all back. But now that searching and filtering is possible, it makes the API a viable method store your data for a Google Maps API or similar mashup. As soon as you get beyond a trival number of markers, you need to store your data in a database, and being able to only fetch the features in the current viewport is a good way of only working with a small subset at once.
Curouslly, there doesn’t seem to be a ‘limit’; so a big bounding box, could potentially still access many features. But hopefully that will be rectified soon.
Update2: Seems there is a max-results : handy!