web-dev-qa-db-fra.com

Convertir le point en lat lon

Je me demande, comment puis-je obtenir les coordonnées de l'événement de clic de carte en lat, lon?

Voici mon code:

map.on('click', function(evt) {
    var element = popup.getElement();
    var coordinate = evt.coordinate;

    var latLon = ol.proj.transform(coordinate, 'EPSG:3857', 'EPSG:4326');

    $(element).popover('destroy');
    popup.setPosition(coordinate);

Normalement, la valeur des coordonnées me donne un tableau, etc.: [48654.02545, 3265468.45455]

Mais j'ai besoin de lat lon etc: ([39,54876,32,547821])

Résumé: J'ai besoin de convertir les coordonnées epsg: 3857 en coordonnées epsg: 4326 (lat/lon)

Une idée?

15
gokhangokce

Si votre projection de vue de carte est Web Mercator (EPSG: 3857), qui est la valeur par défaut, alors ce qui suit devrait fonctionner:

map.on('click', function(evt) {
  var lonlat = ol.proj.transform(evt.coordinate, 'EPSG:3857', 'EPSG:4326');
  var lon = lonlat[0];
  var lat = lonlat[1];
  // …
});
35
erilem