Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度10-打开图层获取地图坐标(单击)_Javascript_Angular_Dictionary_Gis_Openlayers - Fatal编程技术网

Javascript 角度10-打开图层获取地图坐标(单击)

Javascript 角度10-打开图层获取地图坐标(单击),javascript,angular,dictionary,gis,openlayers,Javascript,Angular,Dictionary,Gis,Openlayers,我的角度贴图组件中有一个OpenLayers贴图。我需要获取角度(单击)事件上地图的单击坐标。在Javascript中很容易,只需添加以下代码: map.on('click', function(evt) { var coordinate = evt.coordinate; } <div id="map" (click)="getCoord($event)" class="map"></div> 在map

我的角度贴图组件中有一个OpenLayers贴图。我需要获取角度
(单击)
事件上地图的单击坐标。在Javascript中很容易,只需添加以下代码:

map.on('click', function(evt) {
  var coordinate = evt.coordinate;
}
<div id="map" (click)="getCoord($event)" class="map"></div>
map.component.html
中,我添加了以下代码:

map.on('click', function(evt) {
  var coordinate = evt.coordinate;
}
<div id="map" (click)="getCoord($event)" class="map"></div>
对于相同的点击事件,javascript返回这个坐标,这就是我需要的坐标

阵列[-180047.42012573266,5279667.972342285]

但在角度上,我得到了这个:

数组[480221]

你知道如何使用角坐标获得正确的坐标,或者如何将第二个坐标转换为第一个坐标吗?我真的被困在这里面了


谢谢

最终通过
getEventCoordinate()
解决:

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

<div id="map" (click)="getCoord($event)" class="map"></div>


为什么不在组件端的实际映射实例(而不是dom元素)上添加click处理程序呢?@David谢谢,但我找不到这样做的方法。Angular是否在组件端有一个单击处理程序?如何实例化地图?在实例化它之后,您可以获得ol映射的一个实例。那就用地图吧。。。在该实例上
var坐标=this.map.getEventCoordinate(事件)谢谢@mike,它工作得很好