Veel

Käsitsege voldikus mitmekihilisi maksimaalseid suumimistasemeid

Käsitsege voldikus mitmekihilisi maksimaalseid suumimistasemeid


Koos Mapboxi kihtidega lisame ka meie klientide hostitud WMS- ja ArcGIS-serverite kihid, et kuvada nende jaoks asjakohaseid kaardiandmeid. Kas on mingil viisil võimalik koodi abil välja selgitada, milline on kihi maksimaalne suum, nii et maxNativeZoomi saab seadistada selliselt, et neid kuvatakse alati ka nende suumi puhul, mis on suurem kui nende maksimaalne suum?

Teine asi, mida olen märganud, on see, et teatud Kanada piirkondades on satelliidipildid kuni suumitasemeni 17, teistes aga kuni 18. Kui kaardil kindlasse kohta liikuda, on võimalik aru saada, milline on maksimaalne suum selle ala ja siis maxNativeZoom sobivalt seadistada?


Pole kindel, et saate dünaamiliselt määrata paani allika maksimaalse natiivsuumi (välja arvatud eeldades selle 404 viga), kui teie server ei paku oma teenuses metaandmeid, kus seda teavet pakutakse.

Lahendus oleks plugina Leaflet.TileLayer.Fallback kasutamine, mis toimiks sarnaseltmaxNativeZoomvalik selles mõttes, et kui server ei paku paani (vaid tagastab selle asemel vea 404), kasutab pistikprogramm madalama suumitasemega paani ja suurendab seda asendusena.

Asendab puuduvad paanid (HTTP 404 viga ei leitud) väiksemate suumide abil samaväärsete paanide suurendamisega.

Vajaduse korral asendades plaadid ükshaaval (mitte kõik plaadid, mis mööduvadmaxNativeZoomtasemel), hõlmaks see pistikprogramm loomulikult ka teie teist kasutuskorda, kus kõrgema suumi korral on saadaval ainult mõned piirkonnad.

Demoleht: http://ghybs.github.io/Leaflet.TileLayer.Fallback/examples/tileLayerFallback-demo.html

Kuid see pistikprogramm oleks ei tööta nagu teie server on ette nähtud teeb tagastage kohatäitja / vea paan, kui pilti pole saadaval, selle asemel et tagastada 404 tõrge. Pistikprogramm ei näeks erinevust tavalise paaniga.