Hoe om vektorfunksies by `n openlayers 3-kaart te voeg
OpenLayers is `n kragtige jаvascript instrument wat ons in staat stel om allerhande kaarte op `n webwerf te skep en te vertoon. Hierdie artikel sal u lei om `n punt en `n lynstringfunksie by te voeg, en verander dan hul projeksies om koördinate te gebruik, voeg dan `n bietjie kleur by deur die laag se styl te stel.
Let asseblief daarop dat u `n werkopleiding moet hê wat in `n webblad geïnstalleer moet word om hierdie artikel te volg. As jy nie een het nie, kyk hoe om `n kaart te maak met OpenLayers 3.
Stappe
Element:
.Var Point_Feature = New Ol.Funksie ({})-
VAR PUNT_GEOM = NUWE OL.geom.Punt ([20, 20]) - Point_Feature.SetGometrie (Point_Geom)-
var linestring_feature = nuwe ol.Funksie ({geometrie: nuwe ol.geom.Linestring ([[10, 20], [20, 10], [30, 20]]))-
varvector_layer = nuwe ol.laag.Vector ({Bron: New Ol.bron.Vektor ({funksies: [point_feature, linestring_feature]}))) Kaart.addlayer (vector_layer)-
Soos met enige kragtige kartering sagteware, kan openlayers kaarte verskillende lae hê met verskillende maniere om inligting te vertoon. Omdat die Aarde `n wêreld is en nie plat is nie, wanneer ons dit op ons plat kaarte probeer vertoon, moet die sagteware die plekke aanpas om die platkaart aan te pas. Hierdie verskillende maniere om kaartinligting te vertoon, word genoem projeksies. Om `n vektorlaag en `n teëllaag op dieselfde kaart te gebruik, beteken ons dat ons die lae van een projeksie na `n ander moet verander.
var funksies = [point_feature, linestring_feature]-
Funksie transform_geometrie (element) {var current_projection = nuwe ol.proj.Projeksie ({Kode: "EPSG: 4326"}) - Var New_Projection = Tile_layer.Getsource ().getprojectie () - element.getsometrie ().Transformeer (huidige_projection, new_projection) -) -}
kenmerke.Foreach (Transform_Geometrie)-
Om te verander wat elke kenmerk op die kaart lyk, moet ons `n styl skep en toepas. Styles kan kleure, groottes en ander eienskappe van punte en lyne verander, en hulle kan ook beelde vir elke punt vertoon, wat baie handig is vir persoonlike kaarte. Hierdie afdeling is nie nodig nie, maar dit is pret en nuttig.
Var vul = nuwe ol.styl.Vul ({kleur: [180, 0, 0, 0.3])) - VAR STROKE = Nuwe OL.styl.Stroke ({kleur: [180, 0, 0, 1], breedte: 1})-
var style = nuwe ol.styl.Styl ({image: New ol.styl.Sirkel ({vul: vul, beroerte: beroerte, radius: 8}), vul: vul, beroerte: beroerte) - Vector_layer.Setstyl (styl)-
