【发布时间】:2018-07-22 17:40:31
【问题描述】:
目前我正在使用传单地图并添加了这个地理编码器插件:https://github.com/perliedman/leaflet-control-geocoder。 我的问题是,每次我搜索一个地方时,它也会在这个位置设置一个标记,但我不希望它这样做。它应该只放大而不设置标记。
有人知道如何禁用此功能或立即删除设置标记吗?
The set marker looks like this
我在 Ionic/typescript 中工作,我使用地理编码器的代码是这样的:
leaflet.Control.geocoder().addTo(this.map);
根据 GitHub,defaultMarkGeocode:false 应该禁用标记。使用它时,我只是得到这个错误:
无法读取未定义的属性“_leaflet_id”
我也试过
var geocoder = L.Control.geocoder({
defaultMarkGeocode: false
})
.on('markgeocode', function(e) {
var bbox = e.geocode.bbox;
var poly = L.polygon([
bbox.getSouthEast(),
bbox.getNorthEast(),
bbox.getNorthWest(),
bbox.getSouthWest()
]).addTo(map);
map.fitBounds(poly.getBounds());
})
.addTo(map);
但它只是告诉我变量地理编码器从未使用过,我收到此错误:
无法读取未定义的属性“addLayer”
如果您对如何修复它以及禁用或删除此标记有任何建议,我将非常感激。
问候
【问题讨论】:
-
如果没有看到您的所有代码,我真的无法判断,但是您是否需要在地理编码器对象上使用
.addTo(this.map)而不是addTo(map)?
标签: typescript ionic-framework ionic3 leaflet geocoder