|
The Google Maps Data API is a web service that allows client applications to view, store, and update map data for Google Maps, using the Google Data API. Data is stored in the form of individual features and collections of features. Full pricing information has yet to be released, but the service is currently free for publically-visible data.
With a diverse set of services, Google currently appear to be having a similar kind of branding problem that Microsoft has had for a while: Ie. naming their products and services in an identifiable manner, whilst using names which do not lead to confusion between different products. There is already quite a bit of confusion between Google Maps and Google Earth, but now we have the "Google Maps Data API". Google Maps already has an API allowing data to be plotted. Is this not the same service? This confusion will become widespread if the Google Maps Data API catches on. So what is the Google Maps Data API? Well, it uses the Google Data API (a "cloud" database system) to store map data for client applications. This service is free to use if the data is made publically available. This should result in more "free" data available at Google's fingertips, so google will benefit from richer public maps. The user (client developer) benefits because they do not need to worry about implementing a database system (eg. MySQL or even a flat KML file) on a web server if they wish to plot data on a Google Maps based web map. Map data is stored in the form of features (points, lines, or polygons), and/or 'maps' (collections of features). The documentation constantly talks about "collections of features" as "maps". This can take some getting used to, although in many cases it is essentially correct. Eg. a "map" of customers would be simply stored as a collection of customer points (ie. a collection of features). In order to use the Google Maps Data API, you will need a Maps Data API account. You can sign up for one on the main Developer's Guide page. Data is stored, updated, modified, and read from the Data API using a RESTful interface. The raw HTTP protocol behind this is described on the Google Data APIs: Protocol Basics page. Data responses can be in the Atom, RSS, or JSON formats. The API supports the following operations for the Maps Data API:
- Retrieve a list of maps
- Retrieive individual maps
- Create a new map
- Delete maps
- Retrieve a list of features in a map
- Retrieve a individual features in a map
- Create new features in a map
- Update existing features in a map
- Delete existing features in a map
Google also publish a number of client libraries for the Data API, including ones for Java, Python, .NET, PHP, and JavaScript. Mac OS-X is also supported with a library for Cocoa applications that use Objective-C. Google are currently working on Google Maps Data API developer's guides for a number of these libraries. The Java Developer Guide has already been written, and can be found here. The guide also includes a useful set of code samples. As would be expected, the Java API supports all of the Maps Data API operations, and also adds methods to support the authentication of the client to the Maps Data API. ConclusionsThe Google Maps Data API could be a useful data store for Google Maps applications which prefer to store their data in the "cloud" rather than on a local server. Cost, maintenance, or simple lack of a local database capability could be drivers for this. However, developers should be wary of possible costs. Google have not yet published any pricing structure, but it is likely that there were be charges for data storage that is not publically visible.
 |