我的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>