1

Я использую метод AutocompleteService.getPlacePredictions, чтобы получить элементы автозаполнения для моего раскрывающегося списка. Очень часто этот метод возвращает «длинные» placeIds, которые выглядят как это (фактическое placeId):Геокодер API Карт Google не возвращает местоположение по месту.

ChIJx55rzdwQ9YgRHB-NARRWZyuaBjAxNzExIERvbm5hIEx5bm4gRHJpdmUsIFNteXJuYSwgR0EsIFVuaXRlZCBTdGF0ZXM

если я попробую передать это место идентификатор 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 

Что я делаю неправильно? Каков правильный способ использования этого идентификатора длинного места для получения данных?

+0

Почему downvote ?? – Alex

ответ

1

Я думаю, что конечная точка автозаполнения не возвращает действительные места на сегодняшний день или вчера. Я столкнулся с подобной проблемой.

См Google Place Autocomplete API returning wrong place id

+0

Я вижу. Спасибо! Я попытаюсь подключиться к поддержке Google, чтобы знать. – Alex

1

Проблема ZERO_RESULTS не из-за длинных географических идентификаторов. Чтобы увидеть это, попробуйте использовать (длинный) идентификатор места из результата автозаполнения для адреса в Сиднее, например.

ChIJr -__ yjeuEmsR3RMEBNOoUn-aBjQ0OCBQaXJyYW1hIFJvYWQsIFB5cm1vbnQsIE5ldyBTb3V0aCBXYWxlcywgQXVzdHJhbGlh

Вызов Geocoder.geocode должен возвращать 1 результат.

Короче говоря, API геокодирования (используемый google.maps.Geocoder) не был исправлен для проблемы в https://code.google.com/p/gmaps-api-issues/issues/detail?id=11107.