The Keyhole Markup Language (KML) is an open standard for geographic data presentation. There are over one billion KML files on the web, and yet the vast majority of these files are points on a map.
In High Performance KML for Maps and Earth, Sean Askay and I covered advanced techniques for using KML in Google Earth and the Earth API, as well as introduced other Google platforms that support KML. Our hope is that developers will discover the power of using KML on Google’s platform.
Some of the topics we discussed during our talk:
An Introduction to KML
Advanced data visualization techniques
We demonstrated two new animation techniques using under-utilized KML tags that make for powerful data visualizations.
First we showed a time-animated thematic map of U.S. Census data using the <gx:altitudeOffset> and <gx:AnimatedUpdate> tags to animate the data using a KML Tour. See this post on unchartable.com more information.
We also demonstrated also a proof of concept for pushing near real-time GPS data updates to Google Earth via a <NetworkLink> that uses <NetworkLinkControl> and <Update> tags to inject new location data into a pre-existing GPS track <gx:MultiTrack>.
You can download this KML file to see these two techniques in action and the other KMLs demonstrated during the talk.
Developer environment
People often ask us about a developer environment for creating KML, so we covered various options. We looked at editors, validators, and libraries, including the open source library PyKML.
KML on other platforms
We showed how to use KML in the Google Maps API and Google Fusion Tables.
So check out the slides and the video and start bringing the power of KML to your presentations.
Maps API applications are accessed on desktop and mobile devices of many shapes and sizes with each application having unique goals for conveying information effectively and for facilitating user interactions.
In this session, we wanted to address some common usability problems that many maps developers run into and to suggest possible solutions that could correct the behaviour. We hoped developers would utilize and build upon these suggestions as they encounter problems in their own projects.
Here is an overview of what was discussed in the talk:
Justin O’Beirne joined us onstage to talk about map styling and how even the most subtle changes to the map can drastically change the user's experience. Below is an example of what can be achieved by using styled maps. The two maps are at the same location and have the same data points but the map on the left has had a custom style applied.
By removing the map labels and decreasing the saturation and lightness we are able to emphasise the importance of the data, make it more visually appealing and build a application that is truly our own. If you would like to play more with map styling check out the styled map wizard.
So watch the video, check out the slides and make your map application user experience rock!
The second session of the Geo track at Google I/O was “Secrets of the Surprises of the Google Geo APIs.” Going into I/O we wanted to have a session that could serve as a foundation for later sessions and one where we can feature some of the latest launches leading up to Google I/O. We covered features of the Maps API v3, the Earth API, Fusion Tables, the Maps API Web Services and the Static Maps API in this one session.
What we hope that you take away from this talk is that there is more to the Maps API than just putting markers on a map - we’ve been actively adding many cool features that can really enhance your mapping application and create a better experience for your users.
Here’s a small subset of the features discussed in the talk:
We talked about a lot more - including AdSense integration, the Places API, useful open source libraries, Fusion Tables and historical imagery, trees and 3D buildings in the Earth API - check out the video or review the slides to learn more!
Posted by Ossama Alami, Google Developer Relations
Google has one of the world’s most comprehensive databases of Places information, including over 50M business listings and points of interest worldwide. The Google Places API lets your applications tap into that database, to find the Places your app needs, so that users can indicate the Place they are at, or discover new Places nearby.
Following the introduction of the Places API at Google I/O last year, we worked with developers in a limited preview to understand what was needed to ensure the Places API is as powerful and easy to use as possible. In the “Connecting People with Places” session at this year’s I/O I was very happy to announce that having implemented the feedback we received during the preview, the API is now accessible to all:
The Places API is provided in two ways, a set of XML and JSON web services, and a set of corresponding classes in the Maps API v3.
The web services are ideal for mobile app developers, and can be queried from the developer’s own infrastructure, or directly from the app running on the smartphone. The Places API Search service focuses on location-based search, delivering up 20 Places in the vicinity of a user’s location. Search results can be filtered by Place name, or by one of over 90 categories, such as ‘restaurant’, ‘night_club’ or ‘spa’. The Places API Autocomplete service focuses on text based search, providing autocompletions of Places near the user as they type.
The Places API Report services also allows apps to submit new Places provided by users, which are instantly added to subsequent search results, and also delete them at a later date if required. Apps that allow users to identify the Place they are in at the time can also pass this “check-in” signal back to the Places API Check-in service which factors this real time popularity signal into the ranking of subsequent searches, so that the Places popular with users of the app are ranked higher in real time.
The Engineering Lead for the Places API, Marcelo Camelo, dove into how to get started with the Places API web services, and the structure of requests and responses in the “Location Based App Development using Google APIs” session:
For web based applications the Places API has also been integrated into the JavaScript Maps API v3. The PlacesService class provides access to Places API Search directly from the web based Maps applications, while the Autocomplete class enables a HTML text field to predict autocompletions of Places as the user types:
To use the Places API classes in your Maps API applications you simply need to request the new places library when you load the API into your web page. To use the web services, you must first create a new project in the Google APIs Console, and then enable the Places API on that project. You can then use the APIs Console key for that Project to access the Places API.
Initially your key will offer courtesy quota of 1,000 requests per day. Once you are ready to launch the next great location based app, simply “Enable billing” on the project. You will be prompted to provide credit card details, in order to verify your identity. Once you have done so, your quota will increase to 100,000 requests per day, but the API will remain free to use. Note that you may be charged if you use the same key for other APIs, which you can avoid by creating a separate project for accessing other APIs.
For more information on how to use the Places API, check out the documentation for the Search and Autocomplete web services and Maps API v3 places library. You can also discuss the API with other developers on the Google Maps API Web Services forum, and request additional features you would like to see the API offer, or report any problems you find, using the Places API section of the Google Maps API Issue Tracker.
Our launch at Google I/O this year was just the beginning of the Google Places API story. We are looking forward to bringing you many more features in the future to help you build more innovative and compelling location based applications. So do get started developing your apps, but keep an eye on this blog for more to come!
Posted by Thor Mitchell, Product Manager, Google Maps and Places APIs
Give us feedback in our Product Forums.