如何在地图框上显示单个要素弹出窗口

时间:2014-05-05 14:35:07

标签: javascript mapbox

我有一张地图,并创建了一个像这样的要素图层:

window.map = L.mapbox.map('map', 'example.wefk232sm')
    .setView([homeLatitude, homeLongitude], initialZoom);

var myLayer = L.mapbox.featureLayer().addTo(map);

// Pass features to the map
myLayer.setGeoJSON(geoJson);

geoJson对象如下所示:

var geoJson = {
    type: 'FeatureCollection',
    features: [
        {
        type: 'Feature',
        properties: {
            title: name,
            other: "text",
            'marker-color': '#54a743',
            'stroke': '#428334',
            url: link
        },
        geometry: {
            type: 'Point',
            coordinates: [longitude, latitude]
        }
    ]
}; 

我要做的是打开与name对象上的geoJson.features[0].properties相关的特定功能的弹出窗口,但我无法弄清楚如何执行此操作。

我可以点击它来访问它:

myLayer.on('click', function(e) {
    e.layer.openPopup();
});

Mapbox是v1.6.2

1 个答案:

答案 0 :(得分:0)

您应该可以使用以下

抓取properties.title
myLayer.on('click', function(e) {
    var title = e.layer.feature.properties.title;
    // do something with the title
});