Come ottenere la posizione della funzione in OpenLayers v3


11

Dopo aver utilizzato l'interazione del disegno o aver modificato l'interazione, ho un ascoltatore che restituisce la funzione che è stata modificata o aggiunta.

Esempio

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

So come ottenere l'id, ma ho bisogno della posizione (lon lat) della funzione perché devo salvarla nel DB, come posso farlo? Non l'ho trovato nell'API.

Risposte:


27

Se le funzionalità sono punti utilizzare

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

Per le geometrie dei punti getCoordinatesrestituisce una matrice di 2 numeri. Il primo numero è la xcoordinata. Il secondo numero è la ycoordinata.

E se vuoi convertire coordin longitudine e latitudine usa:

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

Quanto sopra presuppone che la proiezione della visualizzazione della mappa sia Web Mercator (EPSG: 3857), che è l'impostazione predefinita.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.