Google Maps API地理编码器不会通过placeId返回位置

时间:2016-12-23 19:34:51

标签: javascript google-maps google-maps-api-3 geocoding google-geocoder

我使用AutocompleteService.getPlacePredictions方法为我的下拉列表获取自动完成项。通常,该方法返回" 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返回预期的地址:

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

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

2 个答案:

答案 0 :(得分:1)

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

请参阅Google Place Autocomplete API returning wrong place id

答案 1 :(得分:1)

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

ChIJr -__ yjeuEmsR3RMEBNOoUn-aBjQ0OCBQaXJyYW1hIFJvYWQsIFB5cm1vbnQsIE5ldyBTb3V0aCBXYWxlcywgQXVzdHJhbGlh

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

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