Google 地图 API Geocoder 不 return 通过 placeId 定位

Google Maps API Geocoder doesn't return location by placeId

我使用 AutocompleteService.getPlacePredictions 方法为我的下拉菜单获取自动完成项目。通常该方法 returns "long" placeIds 看起来像这样(实际 placeId):

ChIJx55rzdwQ9YgRHB-NARRWZyuaBjAxNzExIERvbm5hIEx5bm4gRHJpdmUsIFNteXJuYSwgR0EsIFVuaXRlZCBTdGF0ZXM

如果我随后尝试将该地点 ID 传递给 Geocoder,我会得到 ZERO_RESULTS 的状态,但没有地点:

new google.maps.Geocoder().geocode(
  { placeId: "thatLongPlaceId"},
  function (results, status) { /* no place data returned */ });

但同时如果我进行以下 GET 调用相同的 placeId returns 预期地址:

https://maps.googleapis.com/maps/api/place/details/json?key=MyApiKey&placeid=ChIJx55rzdwQ9YgRHB-NARRWZyuaBjAxNzExIERvbm5hIEx5bm4gRHJpdmUsIFNteXJuYSwgR0EsIFVuaXRlZCBTdGF0ZXM

我做错了什么?使用这么长的地点 ID 获取地点数据的正确方法是什么?

我认为自动完成端点在今天或昨天没有返回有效的 placeids。我 运行 遇到了类似的问题。

参见 Google Place Autocomplete API returning wrong place id

ZERO_RESULTS 问题不是因为地点 ID 太长。要查看此信息,请尝试使用自动填充结果中的(长)地点 ID 来查找悉尼的地址,例如

ChIJr-__yjeuEmsR3RMEBNOoUn-aBjQ0OCBQaXJyYW1hIFJvYWQsIFB5cm1vbnQsIE5ldyBTb3V0aCBXYWxlcywgQXVzdHJhbGlh

对 Geocoder.geocode 的调用应该 return 1 个结果。

长话短说,地理编码 API(google.maps.Geocoder 使用)尚未解决 https://code.google.com/p/gmaps-api-issues/issues/detail?id=11107 中的问题。