One of the primary uses of a map has always been to figure out how to get from point A to point B. Until now the only way users of our Maps API v3 could put directions on their map was to draw a straight polyline and tell people to fly. Well, fret no more: we've just released Directions in v3, and rather than just porting it over from v2, we've given it a complete makeover and hope you'll like the new look.

So, what does the new Directions interface look like? We've split the GDirections object from v2 into two separate classes that work together to give you routing goodness. DirectionsService passes directions queries to our server and returns the results in JSON format, while DirectionsRenderer displays the results on your map. The 'load' event from v2 has been removed; instead, a callback function containing your rendering code is passed to the DirectionsService when making a new query.

We've also introduced a couple of options for specifing the kind of results that you want returned from our server. If there's more than one way to get from A to B, you can opt to retrieve all of them with provideTripAlternatives, and if the imperial system offends you, just tell the DirectionsService that you always want metric units returned by using unitSystem. Here's a code snippet that adds directions to a map and step-by-step instructions to an accompanying panel, as well as specifying both of the new options:

var map = new google.maps.Map(document.getElementById("map_canvas"), {
  zoom: 7,
  mapTypeId: google.maps.MapTypeId.ROADMAP,
  center: new google.maps.LatLng(-33.868011, 151207566)
var directionsRenderer = new google.maps.DirectionsRenderer();
var directionsService = new google.maps.DirectionsService();
var request = {
  origin: "Sydney, NSW", 
  destination: "Chatswood, NSW",
  travelMode: google.maps.DirectionsTravelMode.DRIVING,
  unitSystem: google.maps.DirectionsUnitSystem.METRIC,
  provideTripAlternatives: true
directionsService.route(request, function(response, status) {
  if (status == google.maps.DirectionsStatus.OK) {
  } else {
    alert('Error: ' + status);

You'll get something that looks like this:

To get started, take a look at the reference and an explanation of the concepts involved, as well as the examples. As always, tell us if you have any questions or comments. We may not choose the most interesting route for you to travel on, but you can rest assured that if you ever want to drive from Seattle to Honolulu, we'll...draw a straight polyline and tell you to kayak*.

Bon voyage!

* because we don't know if your car is watertight.


Just like Ricky Bobby, I like going fast. Most of the time, though, going too fast in real life can be dangerous. That's why I also enjoy playing driving games and simulators—all from the comfort and safety of my own home!

The great thing is, thanks to the Earth API and Maps API for Flash, developers have built a flurry of simulator applications that are visually stunning, geographically realistic, and highly addictive. Below are some of my favorite simulators for driving, sailing, running, and even landing on the moon!

WARNING: I will not be held liable for any lost productivity resulting from these awesome apps!



Considered by most to be in the list of top Earth API apps, Ships is a highly polished simulator by New Zealand-based Dinther Product Design for a variety of sea vessels (and a blimp!). The visual effects (i.e. the ship's wake using animated ground overlays), camera angles, and detailed screen overlay-based dials make Ships an exceptionally fun and immersive simulator.

Primary API: Earth API

Race My Race

Race My Race

Although I don't have the endurance to run a marathon, I can still check out various marathon routes with the help of Race My Race! This app is a really fun way to explore the terrain along these difficult routes. And, if you're planning on running a marathon in the near future, this site can even help you prepare!

Primary API: Earth API

Sea-Seek Virtual Drive

Sea-Seek Virtual Dive

Ever want to explore the world's great bodies of water? Sea-Seek's Virtual Dive is perfect for just that! This app lets you commandeer a variety of air, ocean surface, and underwater vessels along coastlines and even in the deep blue sea! My favorite vessel is the 'Shark Sub,' equipped with a headlamp model.

Primary API: Earth API

Geoquake - Driving Simulator on Google Maps (Perspective)

Geoquake - Driving Simulator on Google Maps (Perspective)

The original, 2D version of this simulator was very impressive—it allowed you to drive a car or truck in a city of your choosing in a Grand Theft Auto-like perspective. This version, however, one-ups the original by utilizing the new 3D perspective in the Maps API for Flash with a 3D car model for a more realistic feel. A great game from a great developer in Japan!

Primary API: Maps API for Flash

Apollo 11 Moon Lander

Apollo 11 Moon Lander

Another gem from Dinther Product Design, this challenging, but very fun, minigame lets you attempt to land the Apollo 11 Moon Lander. I personally have never been able to land without crashing, but a few of my coworkers had no problem finishing with a successful 'Eagle Touchdown.' To them, I say: apply to NASA!

Primary API: Earth API

Gaiagi Driver

Gaiagi Driver

This is a super-mashup of a number of Google and non-Google APIs, allowing you to visualize—in every way imaginable—the driving route between two addresses. The demo really shows off what's possible with today's geo platforms. Very exciting stuff!

Primary API: Various

I hope you enjoyed trying out these simulators; maybe a few of you were inspired to write your own simulation apps! I bet we'll be seeing more and more of these types of apps in the future. 'Til next time, thanks for reading and drive safely!

Good morning! G'day! Bom dia! Bonjour! доброе утро! 早安! നമസ്കാരമ്! доброго ранку!
This is how we, members of the Maps API team, would salute each other if we decided to use our native languages in the mornings. And those are just a minuscule sample of the multitude of the native languages for Googlers all over the world.
But this is only one of the reasons we are so passionate about translating our products to as many languages as possible. Our mission is to organize the world's information and make it universally accessible and useful. Providing our services in the native tongue of our users goes a long way towards achieving the universal accessibility and usefulness aspects of our mission.
Today, we are proud to announce that the Maps API v3 is now available in 40 languages, in addition to US English. You can find the list of languages here. (Right to left languages are notably missing from this list, as we still have some work to do before we can support them.)
Most developers won't need to do anything to take advantage of the new translations, our servers will decide what language to provide based on the browser's preferred languages settings.
Developers can override that behavior (and force all of their users to see one language) by specifying a parameter in the script tag. For instance, to force UI controls to always be displayed in Brazilian Portuguese, use:
  <script type="text/javascript" src="">
Map tiles may also vary slightly according to where in the world you or the bulk of your audience is. You may also want to bias geocoding results towards a specific region. "Newcastle", for instance, will geocode to different locations depending on whether you are more interested in American, British or Australian places. Again, you can override the region biasing by specifying a parameter in the script tag. For instance, to bias your application towards British results, use:
  <script type="text/javascript" src="">
For more in-depth information about localization of Google Maps API v3 maps, please refer to the documentation. As always, you can send feedback and questions via the forum.

Most people here know me for being a geo geek, working on Maps and Earth. But many of you don't know that my first love was history. I got my first Master's in history before pursuing a career in tech. And since much of my early studies of history had to do with maps, whenever I find a historical map I get really excited. Pamela's post on Time-Based Maps shows some of the power of Maps mashups. But history, despite what you may have learned in high school, isn't just about dates. So I selected a few of my favorite historical data visualizations to show you here.


This is an amazing map, which allows you to view a ton of different data. It includes layers for ethnographic surveys from different years, language differences, economic data points, historic maps of Africa layered on using GTileOverlay, and much more. And best of all, you can add more than one layer at once.

The Diary of Samuel Pepys

Samuel Pepys was a 17th Century British Member of Parliament and naval administrator, in London. He left a rich diary about an important time in British history and his participation in it. The diary is being gradually released as daily blog, and there's an accompanying map of important places in the diary. There's a nice implementation of custom infowindows. And in the Encyclopedia many of the entries have maps.

LookBack Maps

LookBack Maps puts historic photos onto a map. It allows users to add photos and geolocate them. When you click on a marker, you get the photo and some data about it. If you click on details, it takes you to a page that has a StreetView of the photo's location. It's a nice mashup of how things are now and how they were.

Google Lit Trips

This site has KML files that give insights into cultural history. The trips aim to show that "...literature can act as a kind of map and has a profound effect on the ways in which a culture imagines its place in the known world." From a map of the locations in James Joyce's Portrait of the Artist as a Young Man, to a map of Virgil's Aeneid, these trips provide interesting perspectives to a reader often less familiar with the part of the world referenced in the work.

Global Paleogeographic Views

Valery Hronusov created this great view of the movement of continents in Google Earth by putting TimeSpan elements in KML GroundOverlays. This one has been around for awhile, but shows both Valery's creativity and the power of using time in KML.
Geography is such an important part of history. There has been a lot of great work done with Google's Geo APIs, and I think there's room for much more. If you're interested in more historical sites, check out the history maps label on Google Maps Mania.
Posted by Mano Marks, Geo APIs Team

As you may have seen on the Lat Long blog today, we've made some significant changes to the map data for the United States. We're excited to bring new features and functionality to Google Maps, including comprehensive parcel data, more detailed natural features like parks and water bodies, and new base map data types like bike paths and university campus maps. These updates have improved our geocoding accuracy as well as our imagery/data alignment, and we'll be making even more improvements going forward.

How does this update impact developers? First, you can use the new "Report a Problem" link on maps to communicate directly with Google about any updates or corrections that you think need to be made to our maps. Second, the data that powers API features like geocoding and driving directions has also been updated. If you're using client-side geocoding in the browser, your applications will automatically start using the new data. If you've been using the HTTP geocoder and caching any retrieved data, you should re-geocode with the new data as soon as possible. With the "Report a Problem" feature, we'll be updating the map data regularly, so we recommend that you continue to refresh any cached data in order to take advantage of corrections from our users.

As always, if you have any questions or feedback about how this change affects your use of the API, you should post to the relevant forum:

We're excited about the changes we're making today! For those of you overlaying data and creating Google Maps applications for the United States, we hope that the underlying base map will continue to evolve, just like the amazing mapping tools that you are maintaining.


Since we launched AdSense for Maps many developers have shared their experiences with monetizing their Google Maps API implementations. Here is a detailed, first hand account from one developer..

Hi, I'm Martin Fröhlich from Maplandia, a world gazetteer based on Google Maps. I'm delighted to share our experience with recently launched monetization tools available through the Google Maps API. We have been successfully using traditional AdSense to monetize our traffic for some time, so we were happy when the Geo Developers Blog announced two new ways how to generate revenue designed purely for Maps.

Maps Ad Unit

There are some significant advantages of Maps Ad Unit in comparison to classic ad units: the relevance of ads is determined not only by the content of the page but also from what is currently shown on the map itself. The other advantage is that the ads are updated (re-targeted) each time a user moves or zooms the map, so they are always tailored to what is viewed on the map.

These two reasons lead to more relevant ads. From the entrepreneurial point of view, this leads to more revenue which is very important to us. We have experienced a 35% increase in our daily revenue from AdSense For Content (This number stands for the portion of total revenue generated by our Maps Ad Unit channel, calculated for the last two months since we implemented the Maps Ad Unit). We didn't notice any decline in the revenue from other AdSense ads placed on the page, so this is really pure increase of profit. The only drawback was that we had to remove GOverviewMapControl (which I always liked) due to the ads. However, this is not necessary if you decide to place ads in other than bottom right corner.

Finally, the implementation is really simple, consisting of adding these few lines to your code:

var publisher_id = yourPublisherID;

var adsManagerOptions = {
 maxAdsOnMap : 2,
 style: 'adunit',
 // The channel field is optional - replace this field with a channel number
 // for Google AdSense tracking
 channel: 'your_channel_id' 

adsManager = new GAdsManager(map, publisher_id, adsManagerOptions);


GoogleBar was introduced back in 2007, but only the latest update made it possible to monetize this search experience. We have a lot of visitors looking for many different places all over the world. Unfortunately, there are (and always will be) some places we can't provide any information on, so this is why I find GoogleBar with its local search functionality to be a very useful tool for our users. Advertising revenue from GoogleBar is a nice bonus: adding GoogleBar to our maps more than doubled our daily revenue from AdSense for Search (which we used with Google Custom Search Engine already).

On Maplandia we have been using both these features together for more than two months now. So far, the results are impressive. There are plenty of mashups with much less non-map content than we tend to have. I sincerely believe that those of you with these types of sites can easily beat our AdSense revenue increase numbers. I highly recommend trying Adsense For Maps, if you haven't done so yet. Good luck and happy coding!