如何在 Angular 9 中绑定 OpenLayers 中的缩放更改
How to bind zoom change in OpenLayers in Angular 9
我正在为我的 openlayers 地图寻找一些更改侦听器。
对于一个没有经验的Angular人来说,我不确定是否应该绑定div修改或者,部分我不知道如何,直接绑定映射?在那种情况下,如果没有任何我可以设置 (change) 或 (ngModel) 或类似元素的元素,我该如何调用我的函数?
正在创建地图 onInit 调用此函数:
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>
Typescript 函数:
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)
})
只听“change:resolution”
我正在为我的 openlayers 地图寻找一些更改侦听器。
对于一个没有经验的Angular人来说,我不确定是否应该绑定div修改或者,部分我不知道如何,直接绑定映射?在那种情况下,如果没有任何我可以设置 (change) 或 (ngModel) 或类似元素的元素,我该如何调用我的函数?
正在创建地图 onInit 调用此函数:
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>
Typescript 函数:
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)
})
只听“change:resolution”