在mapbox中,我使用地图创建功能中的以下代码创建叠加层 - http://jsfiddle.net/shanejones/3ajankv9/
我现在需要找到一种方法来在一个单独的函数中通过它的ID打开一个popover。
在这里使用帖子我已将其修改为以下示例,该示例应打开ID为1的图层。
function next(next_id){
map.featureLayer.eachLayer(function(marker) {
if (marker.feature.properties.id == marker_id) {
marker.openPopup();
}
});
}
但它所做的只是给我一个未定义的错误,任何人都知道我在哪里错了?
编辑 - 显示从控制台运行上述功能时出现的错误。
由于
答案 0 :(得分:0)
我过去遇到过这个问题。我最终做的是这样的,它不是最好的解决方案,但它可以帮助你。
map.featureLayer.eachLayer(function(marker) {
if (marker.feature.properties.id == marker_id) {
marker.fireEvent('click', {
latlng: {
lat: marker._latlng.lat,
lng: marker._latlng.lng
}
});
}
});