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,并试图从该网站的例子。现在工作。 –