Así que realmente me gustaría modificar este ejemplo: http://openlayers.org/en/v3.0.0/examples/tissot.html?q=circle
El problema es que cuando trato de aplicarlo a mi mapa no funciona, probablemente porque uso el estilo OSM que no es esférico:
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
}),
new ol.layer.Vector({
source: vectorSource
})
],
renderer: 'canvas',
target: 'map',
view: new ol.View({
center: ol.proj.transform([2.1833, 41.3833], 'EPSG:4326', 'EPSG:3857'),
zoom: 2
})
});
Y para la pregunta: ¿cómo crear un polígono circular? Como puedo ver, hay dos opciones:
De alguna manera convertir geom.Circle en geom.Polygon, que no puedo hacer, según mi nivel de novato
Crear mi propia función para hacer eso, algo así como Openlayers 2:
OpenLayers.Geometry.Polygon.createRegularPolygon = function (origen, radio, lados, rotación) {
var angle = Math.PI * ((1 / sides) - (1/2)); if (rotación) {ángulo + = (rotación / 180) * Math.PI; } var rotatedAngle, x, y; puntos var = []; para (var i = 0; i
¿Alguien ha llegado al mismo punto en su vida maestra de SIG? ¿Cuál es mejor? ¿O hay un camino oculto que solo los sabios y fuertes pueden ver? ¡Ayudame por favor!
fuente
ol.geom.Polygon.fromCircle
lugar deol.geom.Polygon.circular
. ¡Salud!Si está interesado en crear un polígono circular simple, use:
Fuente: http://openlayers.org/en/v3.0.0/apidoc/ol.geom.Circle.html (elimine la marca estable en la parte superior de la página)
fuente
ol.geom.Circle
No es un polígono, es una geometría simple representada por un radio y un centro. (vea que la clase base de nool.geom.Circle
es ) GeoJSON, WKT y KML no tienen geometrías circulares en sus especificaciones y requieren conversión antes de formatear. Por favor, vea mi respuesta para una forma de aproximar un por un polígono verdadero.ol.geom.SimpleGeometry
ol.geom.Polygon
ol.geom.Circle