如何在OpenLayers v3中获取功能位置


11

使用绘图交互或修改交互后,我有一个侦听器,该侦听器返回已修改或添加的功能。

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

我知道如何获取ID,但是我需要功能的位置(经纬度),因为我需要将其保存到数据库中,该怎么办?我在API中找不到它。

Answers:


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),这是默认设置。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.