API карт Google V3 - не может геокодировать прогнозы AutocompleteService
Я используюgoogle.maps.places.AutocompleteService
чтобы получить предложения по поиску мест, но я не могу геокодировать некоторые прогнозы.
Пример этого: когда я ищубуря устье реки«Одно из предсказаний, которое я получаю, это:Лагерь Отдыха Река Стормс, Южная Африка', но этот адрес не может быть геокодирован для получения широты / долготы, например:http://maps.googleapis.com/maps/api/geocode/json?address=Storms%20River%20Mouth%20Rest%20Camp,%20South%20Africa&sensor=true
Есть ли способ получить значения широты / долготы для прогнозов автозаполнения?
Кроме того, я не понимаю, почему автозаполнение Google возвращает прогнозы, которые я не могу геокодировать.
Вот базовый пример логики и кода, с которым я работаю:
var geocoder = new google.maps.Geocoder();
var service = new google.maps.places.AutocompleteService(null, {
types: ['geocode']
});
service.getQueryPredictions({ input: query }, function(predictions, status) {
// Show the predictions in the UI
showInAutoComplete(predictions);
};
// When the user selects an address from the autcomplete list
function onSelectAddress(address) {
geocoder.geocode({ address: address }, function(results, status) {
if (status !== google.maps.GeocoderStatus.OK) {
// This shouldn't never happen, but it does
window.alert('Location was not found.');
}
// Now I can get the location of the address from the results
// eg: results[0].geometry.location
});
}
[edit] - Посмотреть рабочий пример здесь:http://demos.badsyntax.co/places-search-bootstrap/example.html