I’m using Google’s Geocoder to find lat lng coordinates for a given address.
var geocoder = new google.maps.Geocoder();
geocoder.geocode(
{
'address': address,
'region': 'uk'
}, function(results, status) {
if(status == google.maps.GeocoderStatus.OK) {
lat: results[0].geometry.location.lat(),
lng: results[0].geometry.location.lng()
});
address variable is taken from an input field.
I want to search locations only in UK. I thought that specifying 'region': 'uk' should be enough but it’s not. When I type in “Boston” it’s finding Boston in US and I wanted the one in UK.
How to restrict Geocoder to return locations only from one country or maybe from a certain lat lng range?
Thanks
UPDATE: This answer may not be the best approach anymore. See the comments below the answer for more details.
In addition to what Pekka already suggested, you may want to concatenate
', UK'to youraddress, as in the following example:Screenshot:
I find that this is very reliable. On the other hand, the following example shows that neither the
regionparameter, nor theboundsparameter, are having any effect in this case: