Så här lägger du till vektorfunktioner till ett openlayers 3-karta
OpenLayers är ett kraftfullt jаvascript-verktyg som gör det möjligt för oss att skapa och visa alla typer av kartor på en webbplats. Den här artikeln kommer att styra dig när du lägger till en punkt och en radsträngsfunktion, omvandla sedan sina utsprång för att använda koordinater och lägg sedan till lite färg genom att ställa in skiktets stil.
Observera att du måste ha en Working OpenLayers Map installerad i en webbsida för att följa den här artikeln. Om du inte har en, se hur du gör en karta med OpenLayers 3.
Steg
element:
.var punkt_feature = ny ol.Funktion({ })-
var point_geom = ny ol.geom.Punkt ([20, 20]) - punkt_feature.Setgeometri (Point_geom)-
var linestring_feature = ny ol.Funktion ({geometri: ny ol.geom.Linestring ([[10, 20], [20, 10], [30, 20]])})-
var vector_layer = ny ol.lager.Vektor ({Källa: Ny ol.källa.Vektor ({Funktioner: [Point_Feature, Linestring_Feature]})}) Karta.Addlayer (Vector_Layer)-
Som med alla kraftfulla kartläggningsprogram kan OpenLayers Maps ha olika lager med olika sätt att visa information. Eftersom jorden är en jordklot och inte platt, när vi försöker visa den på våra platta kartor, måste programvaran justera platserna för att matcha den platta kartan. Dessa olika sätt att visa kartinformation kallas prognoser. Att använda ett vektorskikt och ett kakelskikt tillsammans på samma karta innebär vi att vi måste förvandla skikten från en projicering till en annan.
var funktioner = [punkt_feature, linestring_feature]-
Funktionstransformation_geometri (Element) {Var Current_Projection = NEW OL.proj.Projektion ({kod: "EPSG: 4326"}) - VAR New_Projection = Tile_Layer.Getsource ().getprojektion () - element.getGeometri ().Transform (Current_Projection, New_Projection) -) -}
funktioner.foreach (transform_geometri)-
För att ändra vad varje funktion på kartan ser ut, måste vi skapa och tillämpa en stil. Stilar kan ändra färger, storlekar och andra attribut av poäng och linjer, och de kan också visa bilder för varje punkt, vilket är mycket praktiskt för anpassade kartor. Det här avsnittet är inte nödvändigt, men det är roligt och användbart.
var fyllning = ny ol.stil.Fyll ({färg: [180, 0, 0, 0.3]}) - var stroke = ny ol.stil.Stroke ({Färg: [180, 0, 0, 1], Bredd: 1})-
var stil = ny ol.stil.Stil ({bild).stil.Cirkel ({Fill: Fill, Stroke: Stroke, Radius: 8}), Fyll: Fyll, Stroke: Stroke}) - Vector_Layer.setstyle (stil)-