小编yem*_*yen的帖子

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);

            });
        });

    }
Run Code Online (Sandbox Code Playgroud)

我得到的错误是。

TypeError: listeners[i].call is not a function[Learn More]  mapbox-gl-dev.js:29779:13
Run Code Online (Sandbox Code Playgroud)

mapbox mapbox-gl-js

3
推荐指数
1
解决办法
3140
查看次数

标签 统计

mapbox ×1

mapbox-gl-js ×1