javascript - 谷歌的地理编码器返回错误的国家,忽略区域提示

标签 javascript google-maps geolocation gps geocode

我正在使用 Google 的地理编码器查找给定地址的经纬度坐标。

    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 变量取自输入字段。

我想搜索仅在英国 的位置。我认为指定 'region': 'uk' 应该就足够了,但事实并非如此。当我输入“Boston”时,它会在美国找到 Boston,而我想要英国的那个。

如何限制 Geocoder 仅返回来自一个国家或可能来自特定经纬度范围的位置?

谢谢

最佳答案

使用componentRestrictions属性:

geocoder.geocode({'address': request.term, componentRestrictions: {country: 'GB'}}

关于javascript - 谷歌的地理编码器返回错误的国家,忽略区域提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2647086/

相关文章:

javascript - 固定位置元素实际上并没有在 Chrome 中固定

google-maps - 需要使用谷歌地图突出分布区域

Android Google Maps API API23 上的安全异常

java - GPS 和地理定位如何在 Android 设备上发挥作用

iphone - 是否可以在后台模式下启动音频文件

javascript - 如何从 google place api 获取地点照片

javascript - 获取 URL 以从 iFrame 打开更大的 map ?

javascript - AngularJS 轮播 : how to display part of previous and next images

javascript - 如何通过点击谷歌地图添加标记

android - 在 React Native AirBnb 的 MapView [Android] 上关注用户位置