addListener Mapbox中的Google Maps

问题描述

如何将Google Maps的addListener类型放到MapBox上而不是下面? 感谢您的回复

    stationI.addListener('click',function() {
        SetStationInfo(this.title);
    });

以下是完整代码

for (var i=0;i<APIinfo.network.stations.length;i++){

    popup = new mapBoxgl.Popup({ offset: 25 })
    .setText(APIinfo.network.stations[i].name); //MapBox

    var marker = new mapBoxgl.Marker()
        .setPopup(popup)
        .setLngLat([APIinfo.network.stations[i].longitude,APIinfo.network.stations[i].latitude])
        .addTo(map);    //MapBox
                
                
    stationI.addListener('click',function() { //Google Maps
        SetStationInfo(this.title);
    });
}

解决方法

在读取代码时,不确定stationI是什么还是层或对象。

但是对于mapbox中的事件,您可以执行以下操作:

map.on('click',function(e) {
    console.log('A click event has occurred at ' + e.lngLat);
});

您还可以添加图层:

map.on('click','yourLayerId',function(e) {
    console.log('A click event has occurred at ' + e.lngLat);
});