Ինչպես վեկտորային հնարավորություններ ավելացնել OpenLayers 3 քարտեզին (նկարներով)

Բովանդակություն:

Ինչպես վեկտորային հնարավորություններ ավելացնել OpenLayers 3 քարտեզին (նկարներով)
Ինչպես վեկտորային հնարավորություններ ավելացնել OpenLayers 3 քարտեզին (նկարներով)

Video: Ինչպես վեկտորային հնարավորություններ ավելացնել OpenLayers 3 քարտեզին (նկարներով)

Video: Ինչպես վեկտորային հնարավորություններ ավելացնել OpenLayers 3 քարտեզին (նկարներով)
Video: Замена отопления в новостройке. Подключение. Опрессовка. #17 2024, Ապրիլ
Anonim

OpenLayers- ը հզոր JavaScript գործիք է, որը մեզ հնարավորություն է տալիս ստեղծել և ցուցադրել վեբ կայքում բոլոր տեսակի քարտեզներ: Այս հոդվածը կառաջնորդի ձեզ ավելացնել կետ և գծի տող հատկություն, այնուհետև փոխեք դրանց կանխատեսումները `կոորդինատներ օգտագործելու համար, այնուհետև որոշ գույն ավելացրեք` սահմանելով շերտի ոճը:

Խնդրում ենք նկատի ունենալ, որ այս հոդվածին հետևելու համար ձեզ հարկավոր է տեղադրել OpenLayers քարտեզ վեբ էջում: Եթե չունեք, տե՛ս Ինչպես կազմել քարտեզ OpenLayers- ի միջոցով 3:

Քայլեր

Մաս 1 -ը 3 -ից. Կետի և գծի տողի առանձնահատկությունների ավելացում

Քայլ 1. Ստեղծեք կետային հատկություն:

Պարզապես պատճենեք հետևյալ տողի ծածկագիրը ձեր մեջ

տարր:

var point_feature = new ol. Առանձնահատկություն ({});

Քայլ 2. Սահմանեք կետի երկրաչափությունը:

OpenLayers- ին ասելու համար, թե որտեղ պետք է տեղադրել կետը, պետք է ստեղծել երկրաչափություն և տալ կոորդինատների մի շարք, որը զանգված է ՝ [երկայնություն (E-W), լայնություն (N-S)] տեսքով: Հետևյալ ծածկագիրը ստեղծում է սա և սահմանում կետի երկրաչափությունը.

var point_geom = new ol.geom. Point ([20, 20]); point_feature.setGeometry (point_geom);

Քայլ 3. Ստեղծեք տողի տողի գործառույթ:

Տողերի տողերը ուղիղ գծեր են, որոնք բաժանված են հատվածների: Մենք դրանք ստեղծում ենք կետերի պես, բայց տողերի տողի յուրաքանչյուր կետի համար տալիս ենք զույգ կոորդինատներ.

var linestring_feature = new ol. Feature ({geometry: new ol.geom. LineString (

Քայլ 4. Ավելացրեք հատկությունները վեկտորային շերտի վրա:

Քարտեզին հատկանիշներ ավելացնելու համար անհրաժեշտ է դրանք ավելացնել աղբյուրին, որը դուք ավելացնում եք վեկտորային շերտին, որը կարող եք ավելացնել քարտեզի վրա.

var vector_layer = new ol.layer. Vector ({աղբյուրը ՝ նոր ol.source. Vector ({առանձնահատկությունները. [point_feature, linestring_feature]})}}) map.addLayer (vector_layer);

Մաս 2 -ից 3 -ը. Առանձնահատկությունների երկրաչափության փոխակերպում կոորդինատների օգտագործման համար

Ինչպես ցանկացած հզոր քարտեզագրման ծրագրակազմի դեպքում, OpenLayers քարտեզները կարող են ունենալ տարբեր շերտեր ՝ տեղեկատվության ցուցադրման տարբեր եղանակներով: Քանի որ Երկիրը մոլորակ է և ոչ հարթ, երբ մենք փորձում ենք այն ցուցադրել մեր հարթ քարտեզների վրա, ծրագրակազմը պետք է հարմարեցնի տեղերը ՝ համընկնելով հարթ քարտեզի հետ: Քարտեզի տեղեկատվությունը ցուցադրելու այս տարբեր եղանակները կոչվում են կանխատեսումներ. Վեկտորային շերտը և սալիկի շերտը նույն քարտեզի վրա միասին օգտագործելու համար նշանակում է, որ մենք պետք է շերտերը փոխակերպենք մեկ պրոյեկցիայից մյուսը:

Քայլ 1. Տեղադրեք հատկությունները զանգվածի մեջ:

Մենք սկսում ենք այն հատկությունները, որոնք մենք ցանկանում ենք փոխակերպել միասին, դնելով զանգվածի, որի միջոցով մենք կարող ենք կրկնվել:

var հատկություններ = [point_feature, linestring_feature];

Քայլ 2. Գրիր փոխակերպման գործառույթը:

OpenLayers- ում մենք կարող ենք օգտագործել transform () գործառույթը յուրաքանչյուր հատկության երկրաչափական օբյեկտի վրա: Տեղադրեք այս փոխակերպման կոդը այնպիսի գործառույթի մեջ, որը մենք կարող ենք հետագայում կանչել.

գործառույթ transform_geometry (տարր) {var current_projection = new ol.proj. Projection ({կոդը ՝ "EPSG: 4326"}); var new_projection = tile_layer.getSource (). getProjection (); element.getGeometry (). transform (ընթացիկ_նախագիծ, նոր_նախագիծ);); }

Քայլ 3. Callանգահարեք գործառույթների վերափոխման գործառույթը:

Այժմ պարզապես կրկնել զանգվածի միջոցով:

features.forEach (transform_geometry);

3 -րդ մաս 3 -ից. Վեկտորի շերտի ոճը սահմանելը

Քարտեզի յուրաքանչյուր հատկանիշի տեսքը փոխելու համար մենք պետք է ստեղծենք և կիրառենք ոճ: Ոճերը կարող են փոխել գույները, չափերը և կետերի և գծերի այլ հատկանիշները, ինչպես նաև կարող են պատկերներ ցուցադրել յուրաքանչյուր կետի համար, ինչը շատ հարմար է հարմարեցված քարտեզների համար: Այս բաժինը պարտադիր չէ, բայց զվարճալի և օգտակար է:

Քայլ 1. Ստեղծեք լցոնն ու ստոկը:

Ստեղծեք լրացման ոճի առարկա և կիսաթափանցիկ կարմիր գույն, և հարվածի (գծի) ոճ, որը կոշտ կարմիր գիծ է.

var fill = new ol.style. Fill ({գույնը ՝ [180, 0, 0, 0.3]}); var հարված = new ol.style. Stroke ({գույնը ՝ [180, 0, 0, 1], լայնությունը ՝ 1});

Քայլ 2. Ստեղծեք ոճը և կիրառեք այն շերտին:

OpenLayers ոճի օբյեկտը բավականին հզոր է, բայց մենք այժմ միայն սահմանում ենք լրացումն ու հարվածը.

var style = new ol.style. Style ({պատկերը ՝ new ol.style. Circle ({լրացնել. լրացնել, հարվածել, հարվածել, շառավիղը ՝ 8}), լրացնել ՝ լցնել, հարվածել ՝ հարվածել}); vector_layer.setStyle (ոճ);

Խորհուրդ ենք տալիս: