OpenLayers v3'te özellik konumu nasıl elde edilir


11

Çizim etkileşimini kullandıktan veya etkileşimi değiştirdikten sonra, değiştirilen veya eklenen özelliği döndüren bir dinleyicim var.

Misal

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

Nasıl kimliği almak biliyorum, ama DB kaydetmek gerekiyor çünkü özelliğin konumu (lon lat) gerekir, nasıl yapabilirim? API'da bulamadım.

Yanıtlar:


27

Özellikler puan ise

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

Nokta geometrileri için 2 sayılık getCoordinatesbir dizi döndürür. İlk sayı xkoordinattır. İkinci sayı ykoordinattır.

Ve coordbir boylam ve enlem kullanımına dönüştürmek istiyorsanız :

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

Yukarıdaki, harita görünümü projeksiyonunuzun varsayılan olarak Web Mercator (EPSG: 3857) olduğunu varsayar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.