Vairāk

Openlayers - problēma, izvēloties funkcijas no vektoru slāņiem, kas pārklājas

Openlayers - problēma, izvēloties funkcijas no vektoru slāņiem, kas pārklājas


Es saskaros ar šādu problēmu. Man ir divi vektoru slāņi. Vienā ir līniju līnija, bet otrā - ģeometrija.

Pievienojot šo līniju savam punkta ģeometrijas vektora slānim:

pointLayer.setZIndex (1001);

Es saņemu punktu slāni uz augšu, un tad es nevaru atlasīt nevienu iezīmi no līnijas rindas vektora slāņa.

Kā es varu atrisināt šo problēmu, lai visas funkcijas būtu noklikšķināmas? Es negaidītu šādu uzvedību, jo punktu vektora slānim ir tikai daži punkti.


Lai atrisinātu šo problēmu, jums jāskatās zem bibliotēkas pārsega.Izvēlieties funkcijuvadīklu var uzklāt uz viena slāņa vai vairākiem slāņiem.

  • Viens slānis: vadīklas slāņa un apstrādātāja rekvizīti saņem slāņa objektu, pēc tam jūs varat atlasīt šī slāņa funkcijas.
  • Vairāki slāņi: bibliotēka izveido jaunuVector.RootContainerslānis, kas būtībā ir vektoru slāņu grupa, kas satur slāņus. Pēc tam kontrole tiek piemērota tamRootContainerslānis.

Tādā veidā, ja maināt sākotnējā slāņa Z indeksu, jūs vienkārši bloķējat peles notikumu no izveidotās slāņu grupas. Man ir divas idejas, kas teorētiski varētu palīdzēt atrisināt šo problēmu:

  1. DabūtRootContainerslāni un mainiet tā pozīciju, lai tā būtu augšpusē. Jūs varat iestatīt Z-indeksu, taču ērtākais veids ir izmantot kartesraiseLayerfunkciju.
  2. Definējietrādītāju notikumiJūsu slāņu DOM elementu CSS rekvizīti. Jūs varat to iestatīt uzneviena, lai noklikšķinātu ar peles klikšķiem pilnībā.

Skatīties video: Openlayers 6 Tutorial #7 - Vector Layers