Veel

Koostoimed OpenLayers 3-s - tseesium?

Koostoimed OpenLayers 3-s - tseesium?


Vaatasin läbi nende veebisaidil esitatud oL3- tseesiumi näited. Siin oli näide, mis hõlmas funktsioonide valimist 2D-vaates ja sama kajastub ka 3D-s. Kuid kui ma koodi läbi vaatasin, ei olnud sellisena määratletud interaktsiooni. Nad eraldasid esiletõstetud / klõpsatud koordinaadil oleva funktsiooni, kui see oli olemas, ja rakendasid stiile.

Ma tahan öelda, et valiku puhul ei olnud eelnevalt määratletud interaktsiooni, nagu see on siin OL3 dokumentatsioonis. Nii et tahtsin küsida, kas praeguses OL3-tseesiumi integratsioonis pole tegelikult mingeid etteantud koostoimeid või olen millestki ilma jäänud? Töötamise mõistmiseks järgisin eeskätt nende veebisaidil toodud näiteid.

Uuendus:

Ülaltoodud näites eraldasid nad klõpsatud koordinaadil oleva võimaluse, kui see on olemas. See kajastub ka 3D-vaates. Aga kui ma proovin lisada Ol3 valitud interaktsiooni sellesse:

var selectClick = uus ol.interaction.Select ({tingimus: ol.events.condition.click}); select = selectClick; if (vali! == null) {map.addInteraction (vali); select.on ('vali', funktsioon (e) {select.setStyle (valikustiil);}); }

2D funktsioonid valitakse hästi, kuid need ei kajastu 3D-vaates. Nii et kas need koostoimed ei ole veel Ol3-tseesiumi toetatud või teen valesti?


Kui vaatate linkitud näite allikat select.js, näete neid ridu:

var ol3d = new olcs.OLCesium ({kaart: kaart, sihtmärk: 'map3d'}); var scene = ol3d.getCesiumScene (); ol3d.setEnabled (tõene);

See loob lingi OpenLayersi kaardi ja tseesiumi vaate, mitte interaktsioonikontrolli vahel, mis käsitleb sündmusi ainult OpenLayersi kaardivaates. Siin on asjakohane tseesiumi lähtekood. Selles koodis näete, et linkimine toimub veel kahe mooduli kaudu - RasterSynchronized ja VectorSynchronizer.

Mõlema faili ülaosas olevad kommentaarid teevad selgeks, et interaktsioon toimub ainult OpenLayersi tseesiumini, nt

Sünkroonige OpenLayersi vektorikihid ühesuunaliselt tseesiumiga.

Ol.interaction. Hiljem tulev valik tegeleb täielikult OpenLayersi kaardivaate stiilide värskendamisega, see ei ole kuidagi seotud suhtlemisega tseesiumiga.


Vaata videot: Curso OpenLayers 3 - Clase 0