如果这是基本的,我道歉,但我的javascript知识非常有限.
我正在创建一个地图,使用ogr2ogr将我在ArcGIS中创建的GeoJSON数据重新格式化为GeoJSON.我已经从地图加载并显示了我的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;
});
Run Code Online (Sandbox Code Playgroud)
我想要做的是有一个事件发起像这样的infowindow,这不起作用:
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});
});
Run Code Online (Sandbox Code Playgroud)
我的数据集由超过一千个点组成,所以硬编码信息不起作用,我没有看到任何示例显示如何创建一个infowindows数组,因为功能在setStyle()任一个调用的函数中循环.
我知道这与我对缺乏理解范围,事件和对象数组有关,但我只是碰壁.
任何帮助,将不胜感激.