Cách nhận vị trí tính năng trong OpenLayers v3


11

Sau khi tôi đang sử dụng tương tác vẽ hoặc sửa đổi tương tác, tôi có một trình nghe trả về tính năng đã sửa đổi hoặc thêm vào.

Thí dụ

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

Tôi biết cách lấy id, nhưng tôi cần vị trí (lon lat) của tính năng vì tôi cần lưu nó vào DB, làm thế nào tôi có thể làm điều đó? Tôi đã không tìm thấy nó trong API.

Câu trả lời:


27

Nếu các tính năng là điểm sử dụng

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

Đối với hình học điểm getCoordinatestrả về một mảng gồm 2 số. Số đầu tiên là xtọa độ. Số thứ hai là ytọa độ.

Và nếu bạn muốn chuyển đổi coordsang sử dụng kinh độ và vĩ độ:

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

Giả định ở trên giả định rằng trình chiếu chế độ xem bản đồ của bạn là Web Mercator (EPSG: 3857), là mặc định.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.