聆听点击 MapBox Geocoder 的 "X" 按钮

Listen the click on the "X" button of a MapBox Geocoder

我想使用 MapBox Geocoder(在地图之外)可视化并 hide/clear 地图中的一个点。

每当用户搜索地址时, 我用

geocoder.on('result', function (e) {...}

要创建一个点,填充一个图层并在地图上将其可视化。

我想在用户单击“x”按钮时 clear/clean 图层。

Clear Mapbox geocode

关于如何监听 MapBox Geocoder 的“X”按钮的点击有什么想法吗?

我看过doc,但直到现在运气不太好!

我的代码如下所示:

function point (){
geocoder.on('result', function (e) {
    console.log(e)
    if (e.result.place_name && e.result.center) {
        var point = create_feature(e.result.place_name, e.result.center[0], e.result.center[1])

        //Add points on the map
        map.getSource('blablabla').setData({
            type: 'FeatureCollection',
            features: [point]
        });
    }

})
};

function create_feature(userId, x, y) {
    var user_feature = {
        'type': 'Feature',
        'properties': {
            'description': userId
        },
        'geometry': {
            'type': 'Point',
            'coordinates': [x, y]
        }
    };
    return user_feature;
};

https://github.com/mapbox/mapbox-gl-geocoder/blob/master/API.md#on

Available events and the data passed into their respective event objects are:

  • clear Emitted when the input is cleared

所以这应该有效:

geocoder.on('clear', function () {
})