Разбор файла.kml с geoxml3 для markerclusterer: маркеры не появляются в информационном окне
У меня есть карта с маркерами, загруженными из файла.kml, и я использую geoxml3 для ее анализа и markerclusterer для их кластеризации. Я добавил некоторый код, чтобы попытаться добавить теги и на каждый из маркеров в файле kml в информационное окно, когда пользователь нажимает на маркер. По какой-то причине, когда я нажимаю на маркер, он не создает информационное окно. Ранее я добавил console.log, чтобы убедиться, что он распознает щелчок, и он просто не хочет создавать информационное окно.
Вы можете просмотреть страницу по адресу http://tanagerproductions.com/test/site2/testmap.html
Файл.kml находится по адресу http://tanagerproductions.com/test/site2/js/locations.kml
1 ответ
Похоже, вы используете транковую версию geoxml3. Это больше не поддерживается. Если вы используете polys или ветку kmz, они оба поддерживаются.
Вот версия вашей страницы с использованием ветки polys.
Вот обновленная функция createMarker:
createMarker:function(placemark){
var point = placemark.latlng;
var info = "<pre" + placemark.name + "<br /><br />" + placemark.description + "</pre>";
var marker = new google.maps.Marker({position:point});
google.maps.event.addListener(marker, "click", function(){
infoWindow.setContent(info);
infoWindow.open(map, marker);
});
markerclusterer.addMarker(marker);
}
Вам может просто понадобиться infoWindow.content = info; => infoWindow.setContent(info); менять.
(историческая справка, версия "trunk" не существует на github, поэтому ссылка ниже не работает)
Рабочая версия, использующая версию trunk geoxml3, поэтому единственной проблемой было то, что infoWindow.content больше не поддерживается в API.