Bạn có thể nhận được trung tâm mức độ của nó bằng cách sử dụng ol.extent.getCenter
. Trong trường hợp của tôi, tôi có một lớp vectơ và tôi muốn lấy trung tâm của một tính năng sau khi tôi nhấp vào nó.
Vì thế
tạo một tương tác nhấp chuột đơn giản và thêm nó vào bản đồ
var select = new ol.interaction.Select();
map.addInteraction(select);
Đối với mỗi lần nhấp ...
select.on('select', function(e) {
Nhận tính năng đầu tiên được chọn, từ mảng "được chọn". Sau đó, có được hình học của nó, và sau đó phạm vi của nó.
Sử dụng mức độ đó để tìm trung tâm của nó, sử dụng ol.extent.getCenter
var aa = e.selected[0].getGeometry().getExtent();
var oo = ol.extent.getCenter(aa);
console.log("The center is : "+oo); // voila!!!!
});
Mã tương tự làm việc cho các dòng, điểm và đa giác.
Tái bút Các ol.extent.getCenter
ổn định, sử dụng trong CV Phiên bản 3.9.0 và phiên bản 3.10.1 và bạn có thể có thể tìm thấy nó ở đây
var x = extent[0] + (extent[2] - extent[0]) / 2; var y = extent[1] + (extent[3] - extent[1]) / 2;