Мне нужно использовать Google Maps (v3), чтобы проверить, действительно ли существует адрес, введенный в поле поиска, и распечатать его на экране.Это достаточно просто сделать, просто проверив, найдена ли пара широта / долгота для этого адреса.Однако у меня есть проблема.
Когда пользователь вводит в расширенном поиске, например, обычном названии улицы, например First Street, мне нужно распечатать все найденные результаты, чтобы пользователь мог выбрать один.Мне не нужно отображать результаты на карте на данный момент, просто показать их список на странице.Я нашел в Интернете некоторый код, который должен был делать именно это, и изменил его, но он не работает.Я получаю сообщение об ошибке «GClientGeocoder () не определен», но я подозреваю, что даже когда я пройду мимо этого кода, будут проблемы, поэтому мне было интересно, может ли кто-то с большим опытом указать мне правильное направление.* Вот код, я жестко закодировал поисковый термин «Первая улица» в функцию для тестирования.
function showAddress() {
var geo;
geo = new GClientGeocoder();
var search = 'First Street';
// ====== Perform the Geocoding ======
geo.getLocations(search, function (result)
{
//map.clearOverlays();
if (result.Status.code == G_GEO_SUCCESS) {
// ===== If there was more than one result, "ask did you mean" on them all =====
if (result.Placemark.length > 1) {
document.getElementById("message").innerHTML = "Did you mean:";
// Loop through the results
for (var i=0; i<result.Placemark.length; i++) {
document.getElementById("message").innerHTML += "<br>"+(i+1)+": "+result.Placemark[i].address;
}
}
// ===== If there was a single marker =====
else {
document.getElementById("message").innerHTML = "Result found:"+result.Placemark[0].address;
}
}
// ====== Decode the error status ======
else {
alert('No results found');
}
}
);
}
«Сообщение» - это обычное <div>
.Функция вызывается из тега body:
<body onLoad='showAddress()'>