使用mapbox选择一个位置后如何关闭搜索结果?我正在使用 mapbox 的自动完成功能,但在选择特定位置后,它并没有关闭搜索结果框。我添加了这样的自动完成功能:
geocoder = L.mapbox.geocoderControl('mapbox.places', {position: 'topleft', keepOpen: true, autocomplete:true});
geocoder.addTo(map);
使用mapbox选择一个位置后如何关闭搜索结果?我正在使用 mapbox 的自动完成功能,但在选择特定位置后,它并没有关闭搜索结果框。我添加了这样的自动完成功能:
geocoder = L.mapbox.geocoderControl('mapbox.places', {position: 'topleft', keepOpen: true, autocomplete:true});
geocoder.addTo(map);
删除该keepOpen
选项(使其始终打开)然后关闭监听实例select
上的事件L.mapbox.geocoderControl
。被解雇时使用该_toggle
方法。
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 修复中一样,它只是关于私有方法,所以它可能不会持久。