Angular 8 + 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.