Як отримати місце розташування функції в OpenLayers v3


11

Після того як я використовую взаємодію з малюнком або модифікую взаємодію, у мене з'являється слухач, який повертає змінену або додану функцію.

Приклад

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

Я знаю, як отримати ідентифікатор, але мені потрібно розташування (lon lat) функції, оскільки мені потрібно зберегти її в БД, як це зробити? Я не знайшов його в API.

Відповіді:


27

Якщо функції - це точки використання

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

Для точкових геометрій getCoordinatesповертає масив з 2 чисел. Перше число - xкоордината. Друге число - yкоордината.

А якщо ви хочете перетворитись coordна довготу та широту, використовуйте:

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

Вищенаведене передбачає, що ваша проекція перегляду карти - це Web Mercator (EPSG: 3857), що за замовчуванням.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.