使用ID打开一个popover - Mapbox

时间:2015-06-25 14:23:57

标签: maps leaflet mapbox

在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();
        }

    });

}

但它所做的只是给我一个未定义的错误,任何人都知道我在哪里错了?

编辑 - 显示从控制台运行上述功能时出现的错误。

enter image description here

由于

1 个答案:

答案 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
                }
          });
    }
});