0

我被我的循环困住了。一切正常,除了markerLayer.markers()[i].showTooltip(); 不知何故它显示错误的标记。我是否传递了错误的论点?我错过了这里的逻辑吗?

for (var i = 0; i < features.length; i++) {
    var a = side.appendChild(document.createElement('a'));
    a.onclick = (function (feature, i) {
        return function () {
            markerLayer.interaction.hideTooltips()
            map.ease.location({
                lat: feature.geometry.coordinates[1],
                lon: feature.geometry.coordinates[0]
            }).zoom(zoomPlaces).optimal(null, null, function (feature) {
                markerLayer.markers()[i].showTooltip();
            })
        }
    })
    (features[i], i);
}
4

1 回答 1

0

最新版本的 MapBox 和 Leaflet 的 JavaScript API 用于map.markerLayer.getLayers()返回包含唯一_leaflet_id. 请使用该 ID 号来帮助指定您想要的标记togglePopup

于 2013-12-09T19:13:57.743 回答