Cara mendapatkan lokasi fitur di OpenLayers v3

11

Setelah saya menggunakan interaksi menggambar atau memodifikasi interaksi saya memiliki pendengar yang mengembalikan fitur yang dimodifikasi atau ditambahkan.

Contoh

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

Saya tahu cara mendapatkan id, tetapi saya memerlukan lokasi (lon lat) dari fitur tersebut karena saya perlu menyimpannya ke DB, bagaimana saya bisa melakukannya? Saya tidak menemukannya di API.

Yordania
sumber

Jawaban:

27

Jika fitur poin gunakan

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

Untuk geometri titik getCoordinatesmengembalikan array 2 angka. Angka pertama adalah xkoordinat. Angka kedua adalah ykoordinat.

Dan jika Anda ingin mengonversi coordke garis bujur dan garis lintang, gunakan:

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

Di atas mengasumsikan bahwa proyeksi tampilan peta Anda adalah Web Mercator (EPSG: 3857), yang merupakan default.

erilem
sumber