In the latest v2.82 release of the API, we've added 2 additional functions to the GClientGeocoder:
setBaseCountryCode. These two functions will help you instruct the geocoder to prefer results within a certain area or country (but not to restrict the results).
In the example below, you can test out the influence of
setBaseCountryCode. Enter a country code in the first box and the address in the second, and then change the country code and see if the result changes. The 2-character country code must be ISO-compliant and correspond to a Google Maps domain (e.g. "US" for google.maps.com, "AU" for google.maps.com.au).
Hint: Try out "Syracuse" for "IT" vs. "US" or "Toledo" for "ES" vs. "US".
In this next example, you can test out the influence of
setViewport, which is typically more powerful than
setBaseCountryCode. Here, I've modified the just-released DragZoomControl to let you continually drag rectangles on the map. After you've finished drawing a rectangle, it will pass the
GLatLngBounds of that rectangle to
GClientGeocoder.setViewport, and then fire off a request to geocode the address in the text box. Try dragging rectangles of various sizes for the same address to understand the full effect of
Note: Remember that you'll need to specify v=2.x in your script tag to use the new functions for the next few weeks, since they're new features. More information on API script versioning is here.
API v2 Latest (v=2.x): 2.82
API v2 Default (v=2): 2.81