Skip to main content

Why this difference?

       Several of you must have observed this like I did, that the Google geocoder returns different results on the Google Maps website and Google Maps API v3 for the same address string. To understand why this difference exists, I dug deeper into the web and came up with the following.

       The first and foremost place to look for an answer was the Google Maps API FAQ section. The FAQ section did not let me down of course! The FAQ section says:
The API geocoder and Google Maps geocoder sometimes use different data sets (depending on the country). The API geocoder occasionally gets updated with new data, so you can expect to see results changing or improving over time.
        What I concluded from the above is that, in a lot of cases Google licenses data from other companies like DigitalGlobe, Infoterra Ltd & Bluesky, GeoEye, Getmapping plc, Tele Atlas, etc. When negotiating a licensing agreement for copyrighted map data the two companies have to come to a mutually satisfactory agreement. In some cases, a company might be willing to license data for use in regular Google Maps but not through the Google API. For example, in the UK you have to buy a license to access the post code (Zip code) to longitude/latitude database. Google has precise info for regular Google Maps, but if you do the same query through the API you get a much less precise longitude/latitude. Why? Well if you are the company with the post code to longitude/latitude database and you currently charge people for access, then Google starts giving away access for free, probably no-one's going to want to pay you for access to it any more. So you'd only agree to let Google give away your product for free if they gave you at least as much money as you make by charging for the product!

       Though this is a pretty good conclusion, but then I could see people who have posted several instances on different forums of the same address getting geocoded differently...So I started verifying. One address and an explanation appealed to me and I am sharing it here!

       The address to be geocoded was "brussels (municipality)". Now this address geocodes to "City of Brussels Belgium" through the Google Maps website, whereas using the API returns "Brussels City somewhere in the Philippines". Now, consider the address "brussels (This is a nice place)". This string returns the same address in both - the Google Maps website and Google Maps API v3. Assuming that Google geocoder does not consider the contents in the brackets, then how come "brussels (municipality)"  is geocoded differently?

      Well I couldn't answer this one and so decided to throw this question to all you guys and gals reading this. Could you give a possible explanation?

Comments

  1. Why do you track the location of your visitors without asking them for permission?

    ReplyDelete
  2. @Pil
    You might want to consider unplugging your network cable.

    ReplyDelete
  3. Hello Blog Readers. I am posting in this comment the response that I received from a member - Rossoko; in the Google Maps API v3 forum.

    "The API geocoder is a postal address geocoder. Things like "brussels (this is a nice place)" are not well-formed postal addresses, and the geocoder struggles with them. You do have to look at all the results returned, not just the first one. They may not be in the order you expect.

    The geocoder at maps.google.com extends its search to business and
    institution listings and so on. It's much more likely to come up with matches against things like resteraunts in Brussels, BE, to help it along. This is a convenience for the non-programmer user.

    If you want API behaviour to include non-postal addresses you need to
    incorporate other services yourself, the programmer has the option.
    For example, if you want results for things like city or province
    names, the postal address geocoder is not really the right tool. Look into Geonames or similar specialised services."

    ReplyDelete

Post a Comment

Please leave your comments here...

Recommended for You

Retriving co-ordinates...

         We have seen 2 Google Maps API v3 examples wherein we have retrieved the latitude-longitude co-ordinates of the point of click on the map. In the first example we have displayed the co-ordinates in the information window and in the second , we have displayed the co-ordinates in a form in the information window.         Today we will create a code to retrieve the latitude longitude co-ordinates in a text box while simultaneously a marker appears on the map as well. So, here goes the code. <html> <head> <title> Google Maps API v3 - Adding marker on Click and retrieving the co-ordinates in a text box </title> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <script type="text/javascript"> var map;    //When using event as a parameter to a function declare map, strictly as a global variable fun...

Form info window

         Today we will look at a Google Maps API v3 example to add a form in the information bubble! This is usually required when we wish to accept some data/information from the user! This data can be saved to a server in the form of an XML file or a database! The information can then be retrieved back at a later stage, when necessary!          In this example we will only look at form in the information bubble! The connectivity part with the server will be discussed in another post! So, today's code snippet is as seen below! <html> <head> <title> Google Maps API v3 - Adding marker and info window on Click and creating a form in the infowindow with the lat-lng information in it. </title> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <script type="text/javascript"> var map;    //When using ev...

Drive along - Cool coding

         This is something that will demonstrate to you the power of mapping! This is a Google Maps API v2 example, but just copy and paste the code in an html file and you will see something very cool! This will prove that mapping is real fun!          Let's have a look at the code first. Copy this code in your html file. Don't worry about the length of the code and the post in general. Just execute the code and you will surely enjoy what you see! <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> <title> Drive Along </title> <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=ABQIAAAAu3HXU_hLdVPTFGqLed_FCxT2yXp_ZAY8_ufC3CFXhHIE1NvwkxQbblEPYBGNoRsuuSU9aBfSq4VAZA" type="text/javascript"> </script> <script src="http://econym.org.uk/gmap/epoly.js" type="text/javascript"> ...

Two maps on the same page - Side-by-side

    How good I am feeling to post a code example after such a long time! It's been all "news" over the past so many posts! Well now that I am finally doing a code example, I am posting a very highly requested code sample. Placing two Google Maps on the same page (Now that's simple you would say!), but side by side. Now this is the thing that most people struggle with. Well, implementing the second part is also very simple, as you will see in today's code.     Let's see the code. Here it is!     The output of the above code will be as seen in the result section above.     As most of you will realize, there are two maps, one centered at "Pune" and other at "Noida". Why I chose these two locations? Well, just like that!...The main issue of concern is how the maps appeared side-by-side and not one below the other as would be normal behavior of two "div" elements used in the same page. Now here is the trick! Check out the...

Is Google cheating?

               I found this piece of interesting fact, accidently while browsing the internet. Google shows different maps for India, China and USA. Confused hun! Well don’t be…Just read on… In Indian version of Google Maps, you can see Arunachal Pradesh and eastern part of Jammu and Kashmir as integral part of India. In US version of Google Maps, you can see Arunachal Pradesh and Jammu and Kashmir as a disputed region. In the Chinese version of the Google Maps, you can see Arunachal Pradesh and JnK as not a part of India.                 Many people complained this issue to Google. A Google employee responded : “ We do show different versions of this border, because we required to by law. Indian law requires us to show it one way, and the Chinese law requires us to show it another way . If we can legally do so, we strive to present b...