我在Angular贴图组件中有一个OpenLayers贴图。我需要在Angular (click)
事件上获取地图的点击坐标。在Javascript中很简单,只需添加以下代码:
map.on('click', function(evt) {
var coordinate = evt.coordinate;
}
在map.component.html
的Angular中,添加了以下代码:
<div id="map" (click)="getCoord($event)" class="map"></div>
并且像这样在我的map.component.ts中创建了getCoord()
函数:
getCoord(event: any){
var coordinate = this.map.getEventPixel(event);
}
对于同一单击事件,javascript返回此坐标,这是我需要的坐标
数组[-180047.42012573266,5279667.9723422285]
但是在角度上,我得到了这个:
数组[480,221]
关于如何使用Angular获取正确坐标的任何想法,或者如何将第二个转换为第一个?我真的陷入了困境。
谢谢!
最终通过以下说明解决
getCoord(event: any){
var coordinate = this.map.getEventCoordinate(event);
}
对于map.component.html中生成的click事件:
<div id="map" (click)="getCoord($event)" class="map"></div>