Чтобы включить базовые слои и наложения по умолчанию, вам необходимо добавить их на карту. Самый простой способ сделать это - добавить их в массив, который вы привязываете к [leafletLayers]
.
Пример демонстрации того, как это сделать, представлен в демоверсии, включенной в репозиторий GitHub ngx-leaflet. Проверьте README в репозитории для инструкций о том, как его запустить. Демонстрация фактически включила базовые слои и оверлеи, основанные на состоянии проверки формы. Демонстрационный код включен в ngx-leaflet/src/demo/app/leaflet/layers/layers-demo.component.*
.
Ниже приведена упрощенная версия.
Фрагмент из шаблона:
<div leaflet style="height: 300px;"
[leafletOptions]="options"
[leafletLayers]="layers"
[leafletLayersControl]="layersControl">
</div>
Фрагмент из компонента :
// Values to bind to Leaflet Directive
layers: Layer[];
layersControl = {
baseLayers: {
'Open Street Map': this.LAYER_OSM.layer,
'Open Cycle Map': this.LAYER_OCM.layer
},
overlays: {
Circle: this.circle.layer,
Square: this.square.layer,
Polygon: this.polygon.layer,
Marker: this.marker.layer,
GeoJSON: this.geoJSON.layer
}
};
options = {
zoom: 10,
center: latLng(46.879966, -121.726909)
};
constructor() {
// This is different from the demo, just set them manually
this.layers = [
this.LAYER_OSM.layer,
this.circle.layer,
this.square.layer
];
}