[Cross posted from the Google Analytics Blog]
Does your organization have several websites, each serving a particular geographic region? If so you know how challenging it is to analyze the data across these regions in a meaningful way.
Visualizations can help, but they can be difficult to design. Newland communities, a developer of residential and urban home communities, manages numerous web properties for each community and is no stranger to these challenges. To address them, Newland used the query tool from ShufflePoint. The tool enabled the combination of data from Google Analytics and Google Earth, allowing Newland to visualize the data in new ways.
ShufflePoint implemented a pilot project after discussing the idea with Chief Ingredient and their client Newland Communities. Their goal: deal with some of the problems associated with clarifying large amounts of data in a visually appealing manner. The outcome of the project was an integration of Google Analytics data with Google Earth.
Using the Google Analytics API, the ShufflePoint query tool extracts metrics by location from Google Analytics for multiple Newland Communities web properties and creates KML representations viewable in Google Earth. The mashup provides advanced visual reporting on location based campaigns, showing their effect on pageviews, and highlighting any anomalies requiring further investigation. Additionally, the visualization is a great fit for promotional videos, or digital signage needs.
“ShufflePoint uses almost every feature and capability of the Google Analytics API. The API has all of the characteristics that a developer could hope for, including great performance, correct semantics, OAuth for authentication, and good community support. The Google Earth based application has given ShufflePoint recognition for doing innovative and challenging things with Google Analytics. This has been beneficial for promoting ShufflePoint’s offerings.” Chris Harrington, CTO
The ShufflePoint application can be found on the ShufflePoint website.
If you’re interested in developing solutions for the Google Analytics platform, visit Google Analytics Developer Program.
The map updates we are rolling out today include a number of improvements, such as more accurate water bodies, and more comprehensive parks coverage. The “Report a Problem” tool allows Google Maps users, and Maps API developers, to notify Google of errors in our map data, with email notification when their error reports have been resolved. For more information, see our announcement on the Google LatLong blog.
As with previous map data updates, it’s important that any data you have cached for these countries that was obtained using a Maps API service such as the Geocoding API be refreshed following this update. Periodical refreshing of cached data will also ensure that you benefit from any updates and corrections that are applied in future. If you have any questions or concerns, please consult the relevant Maps API forum.
Posted by Thor Mitchell, Product Manager, Google Maps API
We've had several new feature announcements for the Google Maps API in the last few months, including high resolution static maps, the new Street View Image API, and the use of high DPI map tiles in the JS Maps API on mobile devices. I'm here to give you some tips for using these new features to improve your existing mobile JS map app .
And again, if you're still using the deprecated v2 Google Maps API in any of your apps (mobile or otherwise), it's time to migrate your app to the v3 Google Maps API, as we're more than halfway through the three year deprecation period.
Posted by Andrés Ferraté, Developer Relations, Google Maps API
The Maps API is incredibly flexible, allowing developers to venture beyond the basics of web mapping into very different ways of displaying geospatial data and imagery. One way we chose to highlight this flexibility was in the I/O session “Map Your Business, Inside and Out.”
In this session, we demonstrated techniques for displaying custom data over a map, starting with a selection of locations spread out over the world, then zooming in repeatedly, ending with placing a specific object within a room.
In the video you’ll see how features in the API can be used to organize and display custom data at different zoom and conceptual levels. We talked about a number of concepts, demonstrating the power and flexibility of the Maps API. These included:
Many of these techniques were used in the Google I/O 2011 Map. The source code for that project can be found on Google Project Hosting.
We hope that developers, armed with these techniques, can create compelling maps, enabling their users to navigate inside and outside the mapped locations.
Posted by Brendan Kenny and Chris Broadfoot, Geo Developer Relations Team
Caption: Labeled line between SFO and LAX airports. Download the KML.
Note: To preserve the current, unlabeled appearance of regular lines in existing KML files, we’ve turned off all line labels by default in Google Earth 6.1. Because labels for physical width lines were turned on by default in Earth 6.0, you will now need to explicitly enable in your LineStyles to display them in Earth 6.1+.
Street View mode uses a different field of view (FOV) than the regular navigation mode to provide users with a better experience. However, until now this special FOV was not captured while creating Tours in Google Earth. This meant that tour playback couldn’t faithfully reproduce the Street View experience as originally recorded.
To address this issue in Google Earth 6.1 we added the <gx:horizFov> tag to <Camera> and <LookAt>. These values are captured automatically while recording tours in Earth 6.1 but you can also add them directly to your KML.
Caption: Here’s an example of using <gx:horizfov> to create the classic dolly zoom effect, invented by cameraman Irmin Roberts and used in Alfred Hitchcock’s film Vertigo. Download the KML here.
Note: Although Cameras and LookAts can also be used to provide a default view for your placemarks, please note that in Google Earth 6.1 custom FOV values are only respected within the <gx:FlyTo> tags in tours.
We hope that these new features will help you create better tours and better annotate your data!
Posted by: Sean Askay, Developer Advocate & KML Tech Lead
When we launched the Google Maps API for Flash in May 2008 we were responding to strong demand from ActionScript developers for a way to integrate Google Maps into their applications and exploit the performance and cross-platform strengths of Flash.
However use of the Maps API for Flash remains a small percentage of overall Maps API traffic, with only a limited number of applications taking advantage of features unique to the Maps API for Flash. In addition, the performance and consistency of browser JavaScript implementations has progressed, making the JavaScript Maps API an increasingly suitable alternative.
Consequently we have decided to deprecate the Maps API for Flash in order to focus our attention on the JavaScript Maps API v3 going forward. This means that although Maps API for Flash applications will continue to function in accordance with the deprecation policy given in the Maps API Terms of Service, no new features will be developed, and only critical bugs, regressions, and security issues will be fixed. We will continue to provide support to existing Google Maps API Premier customers using the Maps API for Flash, but will wind down Developer Relations involvement in the Maps API for Flash forum.
We understand that this decision will be disappointing for Maps API for Flash developers. We hope you will consider migrating your applications to the Maps API v3, which offers many additional benefits such as Street View, Fusion Tables integration, Places search, and full support for mobile browsers. Our Developer Relations team and many skilled members of the JavaScript Maps API community are available to assist you in doing so on the Google Maps JavaScript API v3 forum.
Google remains supportive of Flash as a development platform for Rich Internet Applications for Chrome, Android, and other devices. However by consolidating our development on the Maps API v3 we can focus all of our resources on delivering great new Maps API features for the benefit of as many developers as possible.
The Static Maps API is a great service for when you need to quickly generate a static, lightweight map. Following the updates to the Maps API/Earth API Terms of Service earlier this year, mobile application developers are now free to use the Static Maps API in native mobile apps, providing the map links to the Google Maps app or website for the same location. However the high pixel density of some mobile screens can make the labels and icons on such a static map unreadably small.
For this reason, we're introducing a new feature of the Static Maps API that smoothly doubles the size of the whole image including labels, icons, and overlays, to suit high resolution screens. To apply this upscaling to an existing Static Maps API image, simply append &scale=2 to the URL.
&scale=2
The image returned will contain the same level of detail, but be twice as wide and tall without the stepping or blurring that results from upscaling an existing image:
scale=1
scale=2
Note that when using the scale parameter the pixel size of the returned image is the product of the size and scale values given in the URL. The size parameter therefore now specifies the size of the required image in Density-independent pixels or Points, as they are known in the Android SDK and iOS SDK respectively.
scale
size
Web based apps can also benefit from higher resolution Static Maps by adding a scale=2 image to the page with a CSS width and height that matches the size parameter. By default, the browser on many mobile devices upscales images in web pages by a device specific factor based on the pixel density of the screen. However these devices will preserve additional detail in the image if the image pixel : CSS pixel ratio matches or exceeds the scaling factor, which can be found by querying window.devicePixelRatio in JavaScript.
window.devicePixelRatio
For example, below are the above two maps side-by-side with the same CSS size. On a desktop screen with a window.devicePixelRatio of 1.0 these will look almost indistinguishable. However open this blog post on a device with a high resolution screen, such as a Samsung Nexus S or Apple iPhone 4, and the image on the right will look significantly sharper.
1.0
As an added benefit, Maps API Premier developers can also request maps with a scale factor of 4. Although this exceeds the maximum window.devicePixelRatio of current mobile devices it does facilitate generating maps for printing at high quality:
scale=4
Note however that the largest image pixel size that the Static Maps API can generate for Premier customers, regardless of the value of the scale parameter, is 2048x2048. Consequently at scale=4 the largest available value for the size parameter is 512x512. Note also that any use of the Static Maps API for generating maps to print must comply with the Permission Guidelines for Google Maps and Earth, which apply equally to Maps API Premier customers.
For more information on the scale parameter, and the other great Static Maps features, check out the Static Maps API documentation. We hope this feature helps your apps enjoy the full benefit of the high resolution screens that are increasingly popular, and makes them just that little bit easier on the eye!
When visiting an unfamiliar city for the first time, I often pick up a tourist map when I check-in to the hotel. Tourist maps are distinctive because they apply equal emphasis to the landmarks of the city as they do to the street names and intersections. Landmarks can be extremely valuable for navigational purposes, and for this reason we add icons for prominent businesses and points of interest on Google Maps as you zoom in. These business icons can be clicked to view additional information about the business, such as the rating, address, and phone number.
At Google I/O this year we began integrating access to business information into the Maps API v3 with the launch of the places library, which adds Places Search and Autocomplete. As part of our ongoing effort to extend this integration, deliver a detailed and complete map, and offer a consistent user experience between Google Maps and the Maps API, we will shortly be adding these clickable business icons to the Maps API v3 as well.
If your application does not specify a specific version of the Maps API to load these icons will appear on the map by default from early next week, unless you are a Maps API Premier customer. The business icons will be classified with the poi.business Styled Maps feature type. If you would prefer that your Maps API application not include these icons, you can remove them ahead of next week’s release by setting visibility:off on the labels element of poi.business for your map. Maps API Premier customers who would like their maps to include these icons can enable them today by setting visibility:on.
poi.business
visibility:off
visibility:on
You can preview these icons, and the InfoWindow that is shown when they are clicked, on the map below:
In order to allow you to control visibility of these icons, and other features, across all the default map types, you can also now specify styles for your map in MapOptions. This enables you to selectively restyle roads, labels, and other features on Hybrid and Terrain maps in addition to Road Maps. Note however that the base satellite imagery (for Satellite and Hybrid maps) and base relief imagery (for Terrain maps) cannot be restyled.
MapOptions
For more information on setting map styles across map types, please see our updated Map Styling documentation. The Styled Maps Wizard has also been updated to apply styles across all maptypes. As always, if you need assistance applying styles to your Maps, or have any other Maps API questions, we recommend you post your questions to the Maps API v3 Forum.
This session at Google I/O demonstrated how developers can take advantage of new and little known GIS capabilities in all of our geo services.
We started out showing some of the GIS capabilities in Google Maps API, which amongst other features, lets you calculate distances and angles and overlay map tiles in arbitrary projections.
Moving onto some new and upcoming products, we showed off some of the capabilities of Google Earth Builder, a new platform to manage and publish large amounts of raster and vector GIS data.
In the world of data visualization, previous sessions had showed off new styling features for Fusion Tables. In this session, we showed how you can enable spatial queries on your data, displaying maps and statistics for the closest set of features to a location, or all features within an arbitrary radius.
Google Earth Builder is not the only new product that provides access to our infrastructure for working with large GIS datasets - we also talked about Google Earth Engine. This Google.org project is designed to help scientists easily access massive archives of satellite imagery, and run image analysis and other algorithms on the data within Google’s datacenters. Complex analyses that might take months or years to run on a single machine can now be completed in hours or minutes.
Finally, we showed off some ways you can integrate open source technology, and finished off the session with Brian Flood from Arc2Earth, who demonstrated a great example of the kind of GIS services that developers can build using Google’s Geo API’s.
Check out the video to see for yourself, and thanks for reading our Geo API’s Summer Learning Series.
Posted by Josh Livni, Geo Developer Relations Team
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!
Give us feedback in our Product Forums.