Извиняюсь, если это базовое, но у меня очень ограниченное знание javascript.
Я делаю карту, которая загружает данные GeoJSON, которые я создал в ArcGIS, переформатированном в GeoJSON, используя ogr2ogr. У меня загружена карта и показаны маркеры точек из моего файла GeoJSON, и у меня даже есть функция styleFeature()
, чтобы установить стиль элементов на основе их свойств.
Проблема, с которой я столкнулась, заключается в том, чтобы всплывать всплывающие окна, когда нажимается точка.
Я успешно использовал код для установки прослушивателя событий и обновил содержимое div с информацией с помощью функции щелчка:
map.data.loadGeoJson('http://www.myurl.com/file.json');
map.data.setStyle(styleFeature);
map.data.addListener('click', function(event) {
var myHTML = event.feature.getProperty('Description');
document.getElementById('info-box').innerHTML = myHTML;
});
Что бы я хотел сделать, это событие, которое запускает такой инфо-окно, которое не работает:
map.data.loadGeoJson('http://www.myurl.com/file.json');
map.data.setStyle(styleFeature);
map.data.addListener('click', function(event) {
var myHTML = event.feature.getProperty('Description');
var infowindow = new google.maps.InfoWindow({content: myHTML});
});
Мой набор данных состоит из более тысячи точек, поэтому жесткое кодирование infowindows не работает, и я не видел каких-либо примеров, показывающих, как создать массив инфоокен, поскольку функции зацикливаются в функции, вызванной setStyle()
.
Я знаю, что это связано с моим недостатком понимания области, событий и массивов объектов, но я просто нажимаю на стену.
Любая помощь будет оценена.