Cómo obtener la ubicación de la función en OpenLayers v3

11

Después de usar la interacción de dibujo o la interacción de modificación, tengo un oyente que devuelve la función que modificó o agregó.

Ejemplo

draw.on('drawend', function (event) {
    // get the feature
    var feature = event.element;
    // ...listen for changes on it
    logStatus(feature.getId());
});

Sé cómo obtener la identificación, pero necesito la ubicación (lon lat) de la función porque necesito guardarla en la base de datos, ¿cómo puedo hacerlo? No lo encontré en la API.

Jordán
fuente

Respuestas:

27

Si las características son puntos use

var coord = event.feature.getGeometry().getCoordinates();

Para geometrías de puntos getCoordinatesdevuelve una matriz de 2 números. El primer número es la xcoordenada. El segundo número es la ycoordenada.

Y si desea convertir coorda una longitud y una latitud, use:

coord = ol.proj.transform(coord, 'EPSG:3857', 'EPSG:4326');
var lon = coord[0];
var lat = coord[1];

Lo anterior supone que su proyección de vista de mapa es Web Mercator (EPSG: 3857), que es el valor predeterminado.

erilem
fuente