Sådan tilføjes vector funktioner til et openlayers 3 kort
OpenLayers er et kraftfuldt jаvascript-værktøj, der gør det muligt for os at oprette og vise alle mulige kort på en hjemmeside. Denne artikel vil guide dig i at tilføje et punkt og en linjestrengfunktion, og derefter omdanne deres fremskrivninger til at bruge koordinater, og tilsæt derefter en farve ved at indstille lagets stil.
Bemærk venligst, at du skal have et Working OpenLayers-kort installeret i en webside for at følge denne artikel. Hvis du ikke har en, skal du se, hvordan du laver et kort ved hjælp af OpenLayers 3.
Trin
element:
.var point_feature = ny ol.Funktion ({})-
var point_geom = ny ol.Geom.PUNKT ([20, 20]) - POINT_FEATURE.setgeometri (point_geom)-
var linestring_feature = ny ol.Feature ({Geometry: New OL.Geom.Linestring ([[10, 20], [20, 10], [30, 20]])})-
var vektor_layer = ny ol.lag.Vektor ({Kilde: Ny OL.kilde.Vector ({Funktioner: [Point_Feature, Linestring_Feature]})}) Kort.Addlayer (vector_layer)-
Som med enhver kraftig kortlægningssoftware kan OpenLayers-kortene have forskellige lag med forskellige måder at vise information på. Fordi Jorden er en kloden og ikke flad, når vi forsøger at vise det på vores flade kort, skal softwaren justere placeringen for at matche det flade kort. Disse forskellige måder at vise kortoplysninger kaldes Fremskrivninger. For at bruge et vektorlag og et fliserlag sammen på samme kort betyder vi, at vi skal omdanne lagene fra et projektion til en anden.
VAR-funktioner = [point_feature, linestring_feature]-
funktion transform_geometri (element) {var current_projektion = ny ol.Proj.Projektion ({kode: "EPSG: 4326"}) - Var New_Projection = Tile_Layer.GetSource ().Getprojektion () - Element.gentometri ().Transform (Current_Projection, New_Projection) -) -}
funktioner.foreach (transform_geometri)-
For at ændre, hvad hver funktion på kortet ser ud, skal vi oprette og anvende en stil. Stil kan ændre farver, størrelser og andre attributter af point og linjer, og de kan også vise billeder til hvert punkt, hvilket er meget praktisk for tilpassede kort. Dette afsnit er ikke nødvendigt, men det er sjovt og nyttigt.
Var Fill = New OL.stil.Fyld ({farve: [180, 0, 0, 0.3]}) - Var Stroke = New OL.stil.Stroke ({farve: [180, 0, 0, 1], bredde: 1})-
var stil = ny ol.stil.Style ({image: New OL.stil.Cirkel ({Fill: Fyld, Stroke: Stroke, Radius: 8}), Fyld: Fyld, Stroke: Stroke}) - Vector_Layer.SetStyle (Style)-
