Yuav Ua Li Cas Ntxiv Vector Nta rau OpenLayers 3 Daim Ntawv Qhia (nrog Duab)

Cov txheej txheem:

Yuav Ua Li Cas Ntxiv Vector Nta rau OpenLayers 3 Daim Ntawv Qhia (nrog Duab)
Yuav Ua Li Cas Ntxiv Vector Nta rau OpenLayers 3 Daim Ntawv Qhia (nrog Duab)

Video: Yuav Ua Li Cas Ntxiv Vector Nta rau OpenLayers 3 Daim Ntawv Qhia (nrog Duab)

Video: Yuav Ua Li Cas Ntxiv Vector Nta rau OpenLayers 3 Daim Ntawv Qhia (nrog Duab)
Video: nyiag nkag koj tus hluas nkauj tus messenger ua koj twb g paub password 2024, Lub peb hlis ntuj
Anonim

OpenLayers yog lub cuab yeej JavaScript muaj zog uas ua rau peb tsim thiab tso tawm txhua yam ntawm daim duab qhia chaw ntawm lub vev xaib. Kab lus no yuav qhia koj ntxiv cov ntsiab lus thiab kab ntawv tshwj xeeb, tom qab ntawd hloov lawv qhov kev kwv yees los siv kev tswj hwm, tom qab ntawd ntxiv qee qhov xim los ntawm kev teeb tsa txheej txheej.

Thov nco ntsoov tias koj yuav tsum muaj OpenLayers daim ntawv qhia ua haujlwm tau teeb tsa hauv lub vev xaib kom ua raws kab lus no. Yog tias koj tsis muaj, saib Yuav Ua Li Cas Daim Ntawv Qhia Siv OpenLayers 3.

Cov kauj ruam

Ntu 1 ntawm 3: Ntxiv Cov Ntsiab Lus thiab Kab Ntim Ntim

Kauj Ruam 1. Tsim cov ntsiab lus taw qhia

Tsuas yog luam kab kab hauv qab no rau hauv koj li

ntsiab lus:

var point_feature = tshiab ol. Feature ({});

Kauj Ruam 2. Teeb lub ntsiab lus geometry

Txhawm rau qhia OpenLayers qhov twg los tso tus ntsiab lus, koj yuav tsum tsim cov duab geometry thiab muab nws teeb tsa kev tswj hwm, uas yog ib qho array hauv daim ntawv ntawm [longitude (E-W), latitude (N-S)]. Cov cai hauv qab no tsim qhov no thiab teeb tsa lub ntsiab lus geometry:

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

Kauj Ruam 3. Tsim kom muaj txoj hlua kab

Cov hlua kab yog kab ncaj ncaj tawg mus rau ntu. Peb tsim lawv ib yam li cov ntsiab lus, tab sis peb muab ob txoj kev sib koom ua ke rau txhua kis ntawm kab ntawv:

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

Kauj Ruam 4. Ntxiv cov yam ntxwv rau txheej vector

Txhawm rau ntxiv cov yam ntxwv rau hauv daim duab qhia chaw, koj yuav tsum tau ntxiv lawv mus rau qhov chaw, uas koj ntxiv rau txheej txheej vector, uas koj tuaj yeem ntxiv rau daim duab qhia chaw:

var vector_layer = new ol.layer. Vector ({source: new ol.source. Vector ({features: [point_feature, linestring_feature]}))) map.addLayer (vector_layer);

Ntu 2 ntawm 3: Hloov pauv Cov Ntais 'Geometries los Siv Kev Sib Koom

Raws li nrog ib qho software muaj peev xwm ua tau zoo, OpenLayers cov duab qhia chaw tuaj yeem muaj txheej sib txawv nrog ntau txoj hauv kev los tso tawm cov ntaub ntawv. Vim tias Lub Ntiaj Teb yog lub ntiaj teb thiab tsis tiaj tus, thaum peb sim ua kom pom nws ntawm peb daim duab qhia chaw tiaj tus, lub khoos phis tawj yuav tsum kho qhov chaw kom haum rau daim ntawv qhia tiaj. Cov kev sib txawv no los qhia cov ntaub ntawv qhia hauv daim ntawv qhia kev kwv yees. Txhawm rau siv txheej txheej txheej txheej thiab txheej txheej pobzeb ua ke ntawm tib daim duab qhia chaw peb txhais tau tias peb yuav tsum hloov pauv cov txheej txheem los ntawm ib qhov kev kwv yees mus rau lwm qhov.

Kauj Ruam 1. Muab cov yam ntxwv tso rau hauv ib qho array

Peb pib los ntawm kev tso cov yam ntxwv peb xav hloov ua ke rau hauv kab uas peb tuaj yeem rov ua dua.

var nta = [point_feature, linestring_feature];

Kauj Ruam 2. Sau qhov hloov pauv muaj nuj nqi

Hauv OpenLayers, peb tuaj yeem siv kev hloov pauv () ua haujlwm ntawm cov khoom geometry ntawm txhua qhov tshwj xeeb. Muab cov cai hloov pauv no ua haujlwm uas peb tuaj yeem hu tom qab:

muaj nuj nqi transform_geometry (element) {var current_projection = tshiab ol.proj. Projection ({code: "EPSG: 4326"}); var new_projection = tile_layer.getSource (). getProjection (); element.getGeometry (). hloov pauv (tam sim no_projection, tshiab_projection);); }

Kauj Ruam 3. Hu rau qhov kev hloov pauv ntawm cov yam ntxwv

Tam sim no yooj yim iterate los ntawm cov array.

nta.forEach (hloov pauv_geometry);

Ntu 3 ntawm 3: Teem lub Vector Layer Style

Txhawm rau hloov qhov tshwj xeeb ntawm txhua daim duab qhia chaw zoo li cas, peb yuav tsum tsim thiab siv tus qauv. Cov cwj pwm tuaj yeem hloov xim, qhov ntau thiab tsawg, thiab lwm yam cwj pwm ntawm cov ntsiab lus thiab kab, thiab lawv tseem tuaj yeem tso saib cov duab rau txhua kis, uas yooj yim heev rau kev teeb tsa daim duab qhia chaw. Ntu no tsis tsim nyog, tab sis nws lom zem thiab muaj txiaj ntsig.

Kauj Ruam 1. Tsim cov ntim thiab stoke

Tsim cov khoom siv ua kom tiav thiab ib nrab pob tshab xim liab, thiab mob hlab ntsha tawg (kab) yam uas yog kab liab liab:

var sau = tshiab ol.style. Fill ({xim: [180, 0, 0, 0.3]}); var stroke = new ol.style. Stroke ({xim: [180, 0, 0, 1], dav: 1});

Kauj Ruam 2. Tsim cov style thiab siv nws rau txheej

OpenLayers style yam khoom yog qhov muaj zog heev, tab sis peb tsuas yog teeb tsa thiab sau rau tam sim no:

var style = new ol.style. Style ({duab: tshiab ol.style. Circle ({sau: sau, mob stroke: mob hlab ntsha tawg, lub vojvoog: 8}), sau: sau, mob stroke: mob stroke}); vector_layer.setStyle (style);

Pom zoo: