Google maps 地理编码API不能识别地址,尽管谷歌地图能识别

Google maps 地理编码API不能识别地址,尽管谷歌地图能识别,google-maps,google-maps-api-3,geocode,Google Maps,Google Maps Api 3,Geocode,我在一个项目中使用地理编码API,用户可以通过文本输入来输入地址。此地址是使用Google Maps API找到的,但是地理编码API找不到该地址。奇怪的是,它对某些地址有效,但对另一些地址无效 例如,地址Courchevel,Saint Bon Tarentaise,France可以在谷歌地图上找到,但没有地理编码URL:,在这里我的签名是正确的 另一方面,瑞士巴塞尔的地址工作正常: 非常感谢您的回答 您可以使用并向其传递一个位置ID。唯一的问题是您必须向服务传递一个地图实例或html元素节点

我在一个项目中使用地理编码API,用户可以通过文本输入来输入地址。此地址是使用Google Maps API找到的,但是地理编码API找不到该地址。奇怪的是,它对某些地址有效,但对另一些地址无效

例如,地址Courchevel,Saint Bon Tarentaise,France可以在谷歌地图上找到,但没有地理编码URL:,在这里我的签名是正确的

另一方面,瑞士巴塞尔的地址工作正常:

非常感谢您的回答

您可以使用并向其传递一个位置ID。唯一的问题是您必须向服务传递一个地图实例或html元素节点。下面是一个例子:

// "map" is a google map you have created
var service = new google.maps.places.PlacesService(map);

var request = {
  placeId: 'ChIJN1t_tDeuEmsRUsoyG83frY4'
};

service.getDetails(request, callback);

function callback(place, status) {
  if (status == google.maps.places.PlacesServiceStatus.OK) {
    var lat = results.geometry.location.lat(),
        long = results.geometry.location.lng();
    console.log('lat & long', lat, long);
  }
}
在我的例子中,因为我没有使用映射,所以我向它传递了一个html节点,如

var details = document.getElementById('details');
var service = new google.maps.places.PlacesService(details);

要遵守这些条款,您不能隐藏元素。然而,这项服务似乎并没有增加它的功能。

搜索地址的主题很复杂。有些困难包括:

  • 知道如何
  • 确定
  • 通过他们的探索来理解
  • 给予适当的支持
  • 提供匹配的地址
来自SmartyStreets的中有许多关于地址和搜索的有用信息

至于你的问题,你提出了一个有趣的案例。(不太清楚你的问题是什么,但关于谷歌API的主题…)谷歌有很多产品,这些产品都是为了解决特定问题而创建的。在一种情况下,谷歌帮助用户探索一个地区可能会有好处:他们想找到一个地区,展示餐馆和活动等。在另一种情况下,谷歌可以找到一个准确的地理编码位置。因此,GoogleAPI用户必须仔细考虑他们的问题和目标,并正确决定使用哪些工具。你可能会发现这本书很有用


公平披露:我为一家专注于地址验证的公司工作。

谢谢你的回答。然而,问题似乎在于地理编码本身。根据我从一些研究中了解到的情况,地理编码有时难以将地址转换为经度和纬度。@Shend您应该使用自动完成服务进行用户输入。非常简单。您可以让它为您呈现UI,或者只返回结果,以便您可以处理UI部分。然后您有一个placeId,它将保证您的lat/long。