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 に答える