Angular 9 + Openlayers获得(单击)地图坐标

问题描述 投票:0回答:1

我在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获取正确坐标的任何想法,或者如何将第二个转换为第一个?我真的陷入了困境。

谢谢!

javascript angular dictionary gis openlayers
1个回答
1
投票

最终通过以下说明解决

 getCoord(event: any){
    var coordinate = this.map.getEventCoordinate(event);
 }

对于map.component.html中生成的click事件:

<div id="map" (click)="getCoord($event)" class="map"></div>
© www.soinside.com 2019 - 2024. All rights reserved.