如何在Angular 9中绑定OpenLayers中的缩放更改



我正在为我的openlayers映射搜索一些更改侦听器。

对于一个没有经验的Angular人员,我不确定我是否应该绑定div更改,或者,我不知道如何绑定的部分,直接绑定映射?在这种情况下,如果没有任何元素可以设置(change(或(ngModel(或类似的元素,我该如何调用我的函数?

正在通过调用以下函数的单元创建映射:

createOpenLayersMap(){
this.map = new Map({
target: 'hotel_map',
layers: [new TileLayer({
source: new OSM()
})],
view: new View({
center: olProj.fromLonLat([this.lng, this.lat]),
zoom: 7
})
});
this.crForm = this.fb.group({
crControl: [1],
crEndControl: [1]
});
}

地图目标是div by id'hotel_map':

CSS:

#hotel_map {
height: 100%;
width: 100%;
}

HTML:

<div id="hotel_map" (change)="getZoom()"></div>

打字功能:

zoomLevel: any = '';
getZoom(){
this.zoomLevel = this.map.getView().getZoom();
console.log(this.zoomLevel)
}

现在我需要知道缩放参数,它将用来改变圆半径。

如有任何解决方案和建议,请提前感谢!

this.map.getView().on('change:resolution', () => {
this.zoomLevel = this.map.getView().getZoom();
console.log(this.zoomLevel)
})

只要听";更改:分辨率";

最新更新