Угловые + OpenLayers нажмите координаты - PullRequest
0 голосов
/ 12 марта 2019

В моем компоненте карты Angular есть карта OpenLayers. Мне нужно получить координату щелчка карты на событии Angular (щелчок). В Javascript это просто, просто добавив следующий код:

map.on('click', function(evt) {
  var coordinate = evt.coordinate;
}

В Angular на map.component.html я добавил следующий код:

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

И создал функцию getCoord в моем map.component.ts так:

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

Для того же события клика, javascript возвращает эту координату, которая мне нужна

Array [-180047.42012573266, 5279667.9723422285]

Но в угловом я получаю это:

Массив [480, 221]

Есть идеи, как получить правильную координату с помощью Angular или как преобразовать вторую в первую? Я действительно застрял в этом.

Спасибо!

1 Ответ

1 голос
/ 12 марта 2019

Окончательно решено с помощью следующей инструкции

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

для события click, созданного в map.component.html:

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