你如何获得一个mapbox的标记?

时间:2014-02-28 21:37:32

标签: leaflet mapbox

我正在尝试使用

将标记添加到地图中
L.mapbox.featureLayer({
                                    type: 'Feature',
                                    geometry: {
                                        type: 'Point',
                                        coordinates: [ll[0], ll[1]]
                                    },
                                    properties: {
                                        title: d[i].screen_name,
                                        media: d[i].media_url,
                                        id: d[i].source_id,
                                        text: d[i].text,
                                        userId: d[i].user_id,
                                       'marker-color': '#000',
                                        'marker-symbol': 'star-stroked'
                                    }
                                }).addTo(map);

方法,但我如何从那里访问该标记? map.getLayerAt(0)还是什么?

没有;出于某种原因在地图上显示..

1 个答案:

答案 0 :(得分:1)

根据Mapbox网站上的示例快速模拟了这个:

var map = L.mapbox.map('map', 'examples.map-zr0njcqy');

map.featureLayer.on('ready', function(e) {
    var markers = [];
    this.eachLayer(function(marker) { markers.push(marker); });
    cycle(markers);
});

function cycle(markers) {
    var i = 0;
    function run() {
        if (++i > markers.length - 1) i = 0;
        var marker = markers[i];
        console.log(marker.getLatLng());
    }
    run();
}

您可以使用cycle()函数对每个标记执行操作 - 如果您在控制台中查看,您将看到您可以知道访问标记的内部属性,如latLng等。我不知道您想要什么与每个标记有关,所以如果您提供更多信息,我将能够为您提供更多帮助!