如何在使用 mapbox 选择一个位置后关闭搜索结果
how to close the search result after selecting one location using mapbox
如何在使用mapbox选择一个位置后关闭搜索结果?
我正在使用 mapbox 的自动完成功能,但在选择特定位置后它不会关闭搜索结果框。我添加了这样的自动完成功能:
geocoder = L.mapbox.geocoderControl('mapbox.places', {position: 'topleft', keepOpen: true, autocomplete:true});
geocoder.addTo(map);
删除 keepOpen
选项(使其始终打开)然后关闭侦听 L.mapbox.geocoderControl
实例上的 select
事件。触发时使用 _toggle
方法。
var geocoder = L.mapbox.geocoderControl('mapbox.places', {
position: 'topleft',
//keepOpen: false,
autocomplete:true
});
geocoder.addTo(map);
geocoder.on('select', function () {
geocoder._toggle()
})
未记录并使用 'private' 方法,因此我不确定此 solution/hack 的寿命。但它有效 ;)
我遇到了同样的问题并设法解决了这个问题:
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 修复一样,它只是关于私有方法,所以它可能不会持久。
如何在使用mapbox选择一个位置后关闭搜索结果? 我正在使用 mapbox 的自动完成功能,但在选择特定位置后它不会关闭搜索结果框。我添加了这样的自动完成功能:
geocoder = L.mapbox.geocoderControl('mapbox.places', {position: 'topleft', keepOpen: true, autocomplete:true});
geocoder.addTo(map);
删除 keepOpen
选项(使其始终打开)然后关闭侦听 L.mapbox.geocoderControl
实例上的 select
事件。触发时使用 _toggle
方法。
var geocoder = L.mapbox.geocoderControl('mapbox.places', {
position: 'topleft',
//keepOpen: false,
autocomplete:true
});
geocoder.addTo(map);
geocoder.on('select', function () {
geocoder._toggle()
})
未记录并使用 'private' 方法,因此我不确定此 solution/hack 的寿命。但它有效 ;)
我遇到了同样的问题并设法解决了这个问题:
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 修复一样,它只是关于私有方法,所以它可能不会持久。