Vector graphics formats have lots of advantages and now Google Maps 5 has gone vector. What new facilities can vector based mapping bring to the game?
Google has announced Maps 5 for Android and the big news is that it used vector graphics.
The technology behind Google, and other, mapping systems is simple enough in principle, A tile server downloads the portion of the map on display as small bitmap images and the client application stitches these back together to make the full map display. This is a reasonably good way to organise things because the tiles can be downloaded asynchronously and tiles that are just off the screen can even be preloaded just in case the user moves in that direction.
However the big problem is that bitmaps just aren't efficient ways to represent graphics data. Vector formats are much more compact - because they contain instructions what to draw rather than the pixels that result. The new Maps 5 system uses vector graphics to draw the map so reducing the amount of data that has to be downloaded.
Vector graphics might be efficient but they require the processor in the phone to do some work to render them to the bitmap display. Modern phone have more than enough processing power to do this and can even turn this to advantage by adding new ways that the user can interact with the map. Essentially the vector graphics are being rendered and this allows 2D and more importantly 3D special effects and additions.
Map 5 provides the following new features
Tilting: Drag down with two fingers to tilt the map. Tilt while zoomed in on one of 100+ cities around the world with 3D buildings to see a skyline rendered.
Rotating: Twist with two fingers to rotate the map. After tilting to see 3D buildings, rotate around them to gain a new perspective from any direction.
Smooth zooming: Slide two fingers together or apart, and see the map and labels continuously scale to any zoom level.
Compass mode: Center the map on your location, and then tap the compass button in the top right corner. The map will flip into 3D mode and start rotating to match your perspective, while still keeping all the labels upright.
In addition the vector data is small enough for extensive areas to be cached making it possible to continue to use mapping when internet connection isn't possible.
A more ambitious feature is off line rerouting which uses the phone's processor to work out corrections to routes, should the user take a wrong turn say, while off line. This one is more difficult and Google say that it will be rolled out in stages.
If you would like to see this in action see the short video Google has prepared:
Of course you can't have satellite imagery added using vectors because the raw data is bitmap only.
How long before this comes to other mobile devices and the desktop is another question.
You can get Google Maps for mobile 5.0 by searching for Google Maps in Android Market. Android 1.6+ devices can get Maps 5.0, but 3D and offline features require Android 2.0+, and some features may not be supported for all devices or countries.
Visual F# has moved from CodePlex to GitHub. Roslyn is also making the move this week and the .NET Core, open sourced last November, has already made its home there, along with TypeScript. So whe [ ... ]