如何在使用mapbox选择一个位置后关闭搜索结果

如何在使用mapbox选择一个位置后关闭搜索结果,mapbox,mapbox-gl,mapbox-gl-js,Mapbox,Mapbox Gl,Mapbox Gl Js,如何在使用映射框选择一个位置后关闭搜索结果? 我正在使用mapbox的自动完成功能,但在选择特定位置后,它不会关闭搜索结果框。我添加了如下自动完成功能: geocoder = L.mapbox.geocoderControl('mapbox.places', {position: 'topleft', keepOpen: true, autocomplete:true}); geocoder.addTo(map); 删除keepOpen选项(该选项将始终保持打开状态),

如何在使用映射框选择一个位置后关闭搜索结果? 我正在使用mapbox的自动完成功能,但在选择特定位置后,它不会关闭搜索结果框。我添加了如下自动完成功能:

geocoder = L.mapbox.geocoderControl('mapbox.places', {position: 'topleft', keepOpen: true, autocomplete:true});
            geocoder.addTo(map);

删除
keepOpen
选项(该选项将始终保持打开状态),然后关闭
L.mapbox.geocoderControl
实例上的
select
事件。激发时,使用
\u切换
方法

var geocoder = L.mapbox.geocoderControl('mapbox.places', {
    position: 'topleft',
    //keepOpen: false,
    autocomplete:true
});

geocoder.addTo(map);

geocoder.on('select', function () {
    geocoder._toggle()
})

未记录并使用“私有”方法,因此我不确定此解决方案/黑客的寿命。但它是有效的;)

我遇到了同样的问题,并设法解决了它:

var geocoder = L.mapbox.geocoderControl('mapbox.places', {
    position: 'topleft',
    keepOpen: true,
    autocomplete:true
});

geocoder.addTo(map);

geocoder.on('select', function () {
  this._results.innerHTML = '';
  this._input.value = '';
})
_toggle()解决方案对我不起作用,因为它使字段永远关闭(单击放大镜图标时无法再次打开)


就像在@iH8补丁中一样,它只是关于私有方法,所以可能不会持久。

Hi@iH8感谢您的帮助。但似乎我错过了一些东西,因为我是新来的。我在更新的帖子中添加了自动完成功能。之后是否需要添加该函数?