Naprawdę chciałbym zmodyfikować ten przykład: http://openlayers.org/en/v3.0.0/examples/tissot.html?q=circle
Problem polega na tym, że kiedy próbuję zastosować go do mojej mapy, nie działa, prawdopodobnie dlatego, że używam stylu OSM, który nie jest kulisty:
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
})
});
I na pytanie: jak stworzyć okrągły wielokąt? Jak widzę, są dwie możliwości:
Jakoś przekonwertuj geom.Circle w geom.Polygon, czego nie mogę zrobić, na podstawie mojego poziomu nooba
Utwórz własną funkcję, aby to zrobić, coś w stylu openlayers 2:
OpenLayers.Geometry.Polygon.createRegularPolygon = funkcja (początek, promień, boki, obrót) {
zmienny kąt = Math.PI * ((1 / boki) - (1/2)); if (obrót) {kąt + = (obrót / 180) * Math.PI; } var rotatedAngle, x, y; var points = []; dla (var i = 0; i
Czy ktoś osiągnął ten sam punkt w życiu mistrza GIS? Który jest lepszy? czy istnieje ukryta ścieżka, którą widzą tylko Mądrzy i Silni? Pomóż mi proszę!
źródło
ol.geom.Polygon.fromCircle
raczej użyć niżol.geom.Polygon.circular
. Twoje zdrowie!Jeśli chcesz utworzyć prosty wielokąt, użyj:
Źródło: http://openlayers.org/en/v3.0.0/apidoc/ol.geom.Circle.html (usuń zaznaczenie stabilne u góry strony)
źródło
ol.geom.Circle
nie jest wielokątem, to prosta geometria reprezentowana przez promień i środek. (patrz klasa podstawowa nieol.geom.Circle
jest ) GeoJSON, WKT i KML nie mają w specyfikacji geometrii kołowych i wymagają formatowania przed formatowaniem. Proszę zobaczyć moją odpowiedź na sposób przybliżenia prawdziwego wielokąta.ol.geom.SimpleGeometry
ol.geom.Polygon
ol.geom.Circle