Я использую плагин jQuery http://googlemaps.mayzes.org/ для Карт Google, но возникли проблемы с добавлением маркеров.
Текущая настройка:
Показать содержимое AJAX в толстой коробке, куда загружена карта. Карта загружается нормально и центрируется по геокодированному адресу.
Однако, если вы добавите маркер с геокодированным адресом, ошибки API Карт Google будут выводиться с "a is undefined"
(соответствующий код из плагина)
if ( markers[i].geocode ) {
var geocoder = new GClientGeocoder();
geocoder.getLatLng(markers[i].geocode, function(center) {
if (!center)
alert(address + " not found");
else
jQuery.googleMaps.marker[i] = new GMarker(center, {draggable: markers[i].draggable, icon: gIcon});
});
}
Заметная часть - geocoder.getLatLng(markers[i].geocode, func...
, так как это напрямую вызывает API карт, и после проверки, markers[i].geocode
выходит как мой тестовый адрес ("Австралия").
Что я обнаружил, так это то, что, если я загружаю карту в первый раз, она будет центрировать карту, но будет ошибка из-за маркера (и не отображать пользовательский интерфейс). Если я закрою карту памяти и снова загрузлю ее с другим адресом / страной, карта будет нормально загружаться с пользовательским интерфейсом и центром в новом местоположении с маркером в старом адресе / стране .
Несколько раз закрывая и открывая толстый ящик, вы перемещаете центрирование, но маркер всегда будет оставаться на первом адресе / стране.
Есть идеи?