Več

OpenLayers 3: Plast ploščice se ne prikazuje pravilno


Poskušam uporabiti OpenLayers 3 za prikaz ploščic iz skladišča TMS. Ne vem, zakaj imam prikazane le nekatere dele majske osnovne plasti, severozahodni del, kot vidite:

Tukaj je moja koda:

var NESource = new ol.source.XYZ ({projekcija: 'EPSG: 4326', url: 'datatest/tms/NaturalEarthII/{z}/{x}/{-y} .jpg ">

Našel sem delujočo rešitev, ki temelji na OL v. 3.7

tukaj je primer s pojavnim oknom http://mappe-t.comune.modena.it/prove/demo_ol3/tms_ol3_with_popup.html

v bistvu je za pravilno upodabljanje sloja TMS, ustvarjenega z GDAL2TILES na odprtih plasteh 3, potrebno ustvariti vir ploščic po meri, to je moja delovna koda:

/ * KONFIGURACIJSKI PARAMETRI DESUMED OD gdal2tiles generirane datoteke http://mappe.comune.modena.it/ortofoto/2014/tilemapresource.xml */var tms_resolutions_2014 = [102.39999999999999, 51.19999999999999. 0.40000000000000, 0.20000000000000, 0.10000000000000]; var obseg_ortofoto_2014 = [1640349.34499999997206, 4935769.97499999962747, 1659997.04499999992549, 4956992.87500000000000]; / * KONFIGURACIJSKI PARAMETRI DESUMED OD http://epsg.io/3003 */varordSystemCode = 'EPSG: 3003'; var projectionMonteMario = ol.proj.get (koordSystemCode); // var obseg_italy_monte_mario = [1290679.24, 4194066.17, 2226886.34, 5259894.49]; var obseg_italy_monte_mario = [1290650.93, 4192956.42, 2226749.10, 5261004.57]; projectionMonteMario.setExtent (scope_italy_monte_mario); // TMS PLAST. JE KONFIGURIRANO KOT PRIPRAVLJEN TileImage vir var tmsModena = nov ol.layer.Tile ({preload: 1, source: new ol.source.TileImage ({crossOrigin: null, obseg: scope_ortofoto_2014, projekcija: projectionMonteMario, tileGrid: nov ol. .TileGrid ({obseg: obseg_ortofoto_2014, izvor: [razsežnost_ortofoto_2014 [0], obseg_ortofoto_2014 [1]], ločljivosti: tms_resolutions_2014}), tileUrlFunction: funkcija (koordinata) {if (koordinata === null) vrnitev nedefinirano; // slog TMS URL var z = koordinata [0]; var x = koordinata [1]; var y = koordinata [2]; var url = 'http://mappe.comune.modena.it/ortofoto/2014/'+z+'/ ' +x +'/' +y +'. jpg ">

Zdi se mi, kot da mešate nekaj skladnje z odprtimi sloji 2. Ne vem, če je to edini problem, ki pa se dogaja, vendar je to zagotovo problem.

Na primer:

var NETileLayer = nov ol.layer.Tile ({vir: NESource, isBaseLayer: true, wrapDateLine: false, obseg: [-180,0, -90,0, 180,0, 90,0]});

isBaseLayer je stvar OL2, tako kot wrapDateLine.

Nove dokumente api preverite tukaj: http://openlayers.org/en/v3.0.0/apidoc/ol.layer.Tile.html

Morda bi nastavitev JSFiddle pomagala natančneje ugotoviti napake, saj bo mešanje ol2 in ol3 zagotovo povzročilo slab dan.


Poglej si posnetek: Openlayers 6 Tutorial #6 - Layer Switcher (Oktober 2021).