我将leaflet.js与ngx-leaflet和esri-leaflet- geocoder包一起使用。
我可以使用纯 JavaScript 在传单地图上使用搜索框。我只需要以下行:
var searchControl = L.esri.Geocoding.geosearch().addTo(mymap);
但我无法在 Angular 中实现这一点。我尝试了以下方法:
layers = [];
searchControl = Geocoding.geosearch();
this.layers.push(this.searchControl); // in the constructor
HTML:
<div style="height: 300px;"
leaflet
[leafletOptions]="options"
[leafletLayersControl]="layersControl"
[leafletLayers]="layers"
[leafletFitBounds]="this.polygon.getBounds()"
(leafletClick)="mapClicked($event)">
</div>
我收到错误消息:
ERROR 错误:“提供的对象不是层。”
我安慰searchControl
说,纯 JavaScript 和 Angular 的结果都是一样的。