Puede obtener su extensión centro utilizando ol.extent.getCenter
. En mi caso, tengo una capa vectorial y quiero obtener el centro de una entidad después de hacer clic en ella.
Entonces
crear una interacción de clic simple y agregarla al mapa
var select = new ol.interaction.Select();
map.addInteraction(select);
Por cada clic ...
select.on('select', function(e) {
Obtenga la primera característica seleccionada, de la matriz "seleccionada". Luego obtenga su geometría, y luego su extensión.
Use esa extensión para encontrar su centro, usando ol.extent.getCenter
var aa = e.selected[0].getGeometry().getExtent();
var oo = ol.extent.getCenter(aa);
console.log("The center is : "+oo); // voila!!!!
});
El mismo código funcionó para líneas, puntos y polígonos.
PD. El ol.extent.getCenter
es estable, se usa en la versión OL 3.9.0 y la versión 3.10.1 y puede encontrarlo aquí
var x = extent[0] + (extent[2] - extent[0]) / 2; var y = extent[1] + (extent[3] - extent[1]) / 2;