1
TLDR;如何爲地圖框「線」類型圖層添加彈出窗口?Mapbox - 將「點擊」事件添加到線路層
我有一個函數加載一個mapbox地圖並添加一層線。
我的目標是在點擊該行上添加一個彈出窗口。 我跟着例子,並添加一個點擊事件。但是這給了我一個錯誤。任何指針我做錯了什麼?
function renderLineLayer(layerName,data) {
map.on('load', function() {
map.addLayer({
"id": layerName,
"type": "line",
"source": {
"type": "geojson",
"data": data
},
"layout": {
"line-join": "round",
"line-cap": "round",
"visibility":"visible"
},
"paint": {
"line-color": "blue",
"line-width": 8
}
});
console.log(map.getLayer(layerName));
map.on('click', layerName, function (e) {
console.log('click');
new mapboxgl.Popup()
.setLngLat(e.lngLat)
.setHTML(e.features[0].properties.name)
.addTo(map);
});
});
}
我得到的錯誤是。
TypeError: listeners[i].call is not a function[Learn More] mapbox-gl-dev.js:29779:13
你說得對!我在0.34,並試圖從該網站的例子。現在工作。 –