#javascript #google-maps #google-geocoder
#javascript #google-карты #google-геокодер
Вопрос:
Здравствуйте, у меня есть следующий массив адресов
var Address= [
{ "Key": "1", "Title": "Candidate A", "Line1": "26 Dove Ave", "line2": "", "suburb": "Altona", "state": "VIC", "postcode": "3018" },
{ "Key": "2", "Title": "Candidate B", "Line1": "101 Collins Street", "line2": "", "suburb": "Melbourne", "state": "VIC", "postcode": "3000" },
{ "Key": "3", "Title": "Candidate C", "Line1": "15 Elgin St", "line2": "", "suburb": "Carlton", "state": "VIC", "postcode": "3053" },
{ "Key": "4", "Title": "Candidate D", "Line1": "435 Bridge Road", "line2": "", "suburb": "Richmond", "state": "VIC", "postcode": "3121" }
];
Затем я вызываю geocoder, просматривая приведенный выше массив следующим образом
geocoder.geocode({ 'address': address[i].Line1 " , " address[i].suburb },
Но маркеры на карте неверны, например, первая запись в массиве отображается на карте как Swallow Street, Altona VIC 3018, Австралия Я не уверен, что я делаю не так? Я пробовал переключить пригород на почтовый индекс, но результат всегда один и тот же ??!
** Добавлен приведенный ниже код, показывающий полный процесс
geocoder.geocode({ 'address': Address[i].Line1 " , " Address[i].suburb },
function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
console.log(results);
marker = new google.maps.Marker({
position: new google.maps.LatLng(results[0].geometry.location.lat(), results[0].geometry.location.lng()),
map: map
});
//google.maps.event.addListener(marker, 'click', (function () { // Click event for each location to show the description
// return function () {
// GetDirections(results[0].geometry.location.lat() "," results[0].geometry.location.lng(), address);
// };
//})(marker, i));
google.maps.event.addListener(marker, "click", function (e) {
var latLng = e.latLng.k "," e.latLng.A;
console.log(e);
GetDirections(latLng);
});
markers.push(marker);
}
else {
document.getElementById("text_status").value = status;
return;
}
}
Комментарии:
1. показать код, который создает маркеры
2. @Dr.Molle добавил код
3. а как насчет результатов, как вы продвигаете ценности?
4. Это то, что я получаю для 26 Dove Ave, Альтона , кажется правильным: gmaps-samples-v3.googlecode.com/svn/trunk/geocoder /…
5. Возможно, вы заметили, что маркер для геокодирования (см. Мою ссылку) расположен не на улице. Предполагая, что вы используете режим путешествия
DRIVING
, Google должен найти точку на улице рядом с заданным LatLng (название улицы здесь не имеет значения, LatLng имеет значение)