Bonjour, je viens d'intégrer dans mon application l'appel à des couches geoportail (orthophoto et cadastre raster).
Mon application étant OpenLayers + jquery, avec une projection en spherical mercator, je cherche à être le moins intrusif possible. Je suis donc passé par l'API min, je gère mes droits avec l'objet GeoRMHandler, et je fais créer mes couches par le Catalogue correspondant.
Les couches s'affichent sans problème... pour quelques niveaux de zoom seulement. Je n'ai aucun affichage pour un zoom >= à 16. Est-ce une question de droits sur ma clé de dev ? de noms des couches ? est-ce normal ? Dans la doc technique je vois des affichages beaucoup plus précis.
Mon code spécifique :
Objet dédié pour regrouper les paramètres IGN :
Création d'un fond vierge :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 carto.ign = { territoire:'FXX', couches : { photo : 'ORTHOIMAGERY.ORTHOPHOTOS', cadastre : 'CADASTRALPARCELS.PARCELS', topo: 'GEOGRAPHICALNAMES.NAMES' }, catalogue : new Geoportal.Catalogue(carto.map, gGEOPORTALRIGHTSMANAGEMENT) };
Création de mes couches :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 carto.map.addLayers([ new OpenLayers.Layer( 'fond', { isBaseLayer: true, displayInLayerSwitcher: false, projection : carto.projs.spherMercator, units : 'm', maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34, 20037508.34, 20037508.34), maxResolution : 156543.033928, numZoomLevels: 21, minZoomLevel:1, maxZoomLevel:21, territory: carto.ign.territoire })]);
Méthode chargerCoucheIgn :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 carto.couche.chargerCoucheIgn(carto.ign.couches.photo, 20); carto.couche.chargerCoucheIgn(carto.ign.couches.cadastre, 19); carto.couche.chargerCoucheIgn(carto.ign.couches.topo, 19);
Merci d'avance,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 chargerCoucheIgn : function(codeCouche, niveauZoomMax) { var parametres = carto.ign.catalogue.getLayerParameters(carto.ign.territoire, codeCouche); if (parametres != null) { parametres.options.opacity= 1.0; parametres.options.maxZoomLevel = niveauZoomMax; var coucheIgn = new parametres.classLayer( OpenLayers.i18n(parametres.options.name), parametres.url, parametres.params, parametres.options); carto.map.addLayers([coucheIgn]); } else { carto.logger.log("couche non authorisée : " + codeCouche); } },
Cyril DEJONGHE
Partager