Então, eu realmente gostaria de modificar este exemplo: http://openlayers.org/en/v3.0.0/examples/tissot.html?q=circle
O problema é que, quando tento aplicá-lo ao meu mapa, ele não funciona, provavelmente porque uso o estilo OSM, que não é 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
})
});
E para a pergunta: como criar polígono circular? Como posso ver, existem duas opções:
De alguma forma, converter geom.Circle em geom.Polygon, o que não posso fazer, com base no meu nível de noob
Crie minha própria função para fazer isso, algo como openlayers 2:
OpenLayers.Geometry.Polygon.createRegularPolygon = function (origem, raio, lados, rotação) {
var angle = Math.PI * ((1 / sides) - (1/2)); if (rotação) {ângulo + = (rotação / 180) * Math.PI; } var rotatedAngle, x, y; pontos var = []; para (var i = 0; i
Alguém chegou ao mesmo ponto em sua vida de mestre em SIG? Qual é o melhor? ou existe um caminho oculto, que somente os Sábios e os Fortes podem ver? Ajude-me, por favor!
fonte
ol.geom.Polygon.fromCircle
vez deol.geom.Polygon.circular
. Felicidades!Se você estiver interessado em criar um polígono circular simples, use:
Fonte: http://openlayers.org/en/v3.0.0/apidoc/ol.geom.Circle.html (remova a marca estável na parte superior da página)
fonte
ol.geom.Circle
não é um polígono, é uma geometria simples representada por um raio e um centro. (veja a classe base deol.geom.Circle
isol.geom.SimpleGeometry
notol.geom.Polygon
) GeoJSON, WKT e KML não possuem geometrias circulares em suas especificações e requerem conversão antes da formatação. Por favor, veja minha resposta para uma maneira de aproximar umol.geom.Circle
por um polígono verdadeiro.