Bonjour,
Actuellement j'essaye d'intégrer l'API geoportail dans notre framework,celui-ci etant basé en partie sur OpenLayers, l'intégration à été plutôt simple.
On a choisi d'utiliser l'API minimum pour éviter les conflits avec les classes d'OpenLayers que nous avons déjà modifiées.
Donc pour cela j'ai souscrit un contrat sur le site du Géoportail en ayant sélectionné toutes les couches.
Je me suis inspiré de la demo Yahoo User Interface du site de démo (http://api.ign.fr/geoportail/api/doc...portalYUI.html) donc toute les question suivantes porteront sur celle-ci.
J'arrive exactement au même résultat avec mon framework mais du coup je tombe sur les même problèmes :
1) Si j'ajoute la couche suivante :
var l1= new Geoportal.Layer.WMSC(
OpenLayers.i18n('GEOGRAPHICALGRIDSYSTEMS.MAPS'),
gGEOPORTALRIGHTSMANAGEMENT[gGEOPORTALRIGHTSMANAGEMENT.apiKey]
.resources['GEOGRAPHICALGRIDSYSTEMS.MAPS:WMSC'].url,
{
layers: 'GEOGRAPHICALGRIDSYSTEMS.MAPS',
format:'image/jpeg',
exceptions:"text/xml"
},
{
gridOrigin: new OpenLayers.LonLat(0,0),
isBaseLayer: false,
resolutions: Geoportal.Catalogue.RESOLUTIONS.slice(0,5),
opacity : 1.0,
projection: miller,
maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90).transform(OpenLayers.Projection.CRS84,miller, true),
units: miller.getUnits(),
attribution: 'provided by IGN',
GeoRM: Geoportal.GeoRMHandler.addKey(
gGEOPORTALRIGHTSMANAGEMENT.apiKey,
gGEOPORTALRIGHTSMANAGEMENT[gGEOPORTALRIGHTSMANAGEMENT.apiKey].tokenServer.url,
gGEOPORTALRIGHTSMANAGEMENT[gGEOPORTALRIGHTSMANAGEMENT.apiKey].tokenServer.ttl,
viewer)
}
);
viewer.addLayers([l0,l1]);
elle ne s'affiche pas au dessus de ORTHOIMAGERY, son div reste vide.
Est ce à cause d'un problème de droits de requêtage?
2) Si j'essaye de créer une carte sur la france avec la projection IGNF:GEOPORTALFXX,
alors là, impossible d'afficher une seule couche (problème de droits d'accès? de contrat? de résolutions?), hormis ORTHOIMAGERY ou GEOGRAPHICALGRIDSYSTEMS.
Voici mon code pour essayer d'afficher les parcelle cadastrales :
var miller= new OpenLayers.Projection("IGNF:GEOPORTALFXX");
viewer= new OpenLayers.Map('viewerDiv',{
resolutions: Geoportal.Catalogue.RESOLUTIONS.slice(6),
projection: miller,
maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90).transform(OpenLayers.Projection.CRS84,miller,true),
units: miller.getUnits(),
controls:[
//new OpenLayers.Control.PanZoomBar(),
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.ZoomBox(),
//new OpenLayers.Control.ScaleLine(),
new OpenLayers.Control.MousePosition(),
new OpenLayers.Control.KeyboardDefaults(),
new OpenLayers.Control.Attribution(),
new Geoportal.Control.PermanentLogo(),
new Geoportal.Control.TermsOfService()
]});
var l0= new Geoportal.Layer.WMSC(
OpenLayers.i18n('CADASTRALPARCELS.PARCELS'),
gGEOPORTALRIGHTSMANAGEMENT[gGEOPORTALRIGHTSMANAGEMENT.apiKey]
.resources['CADASTRALPARCELS.PARCELS:WMSC'].url,
{
layers: 'ORTHOIMAGERY.ORTHOPHOTOS',
format:'image/jpeg',
exceptions:"text/xml"
},
{
gridOrigin: new OpenLayers.LonLat(0,0),
isBaseLayer: true,
resolutions: Geoportal.Catalogue.RESOLUTIONS.slice(6),
opacity : 1.0,
projection: miller,
maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90).transform(OpenLayers.Projection.CRS84,miller, true),
units: miller.getUnits(),
attribution: 'provided by IGN',
GeoRM: Geoportal.GeoRMHandler.addKey(
gGEOPORTALRIGHTSMANAGEMENT.apiKey,
gGEOPORTALRIGHTSMANAGEMENT[gGEOPORTALRIGHTSMANAGEMENT.apiKey].tokenServer.url,
gGEOPORTALRIGHTSMANAGEMENT[gGEOPORTALRIGHTSMANAGEMENT.apiKey].tokenServer.ttl,
viewer)
}
);
viewer.addLayers([l0]);
3) Pour facilité mes développements j'ai essayé de trouver une version non compréssée de l'API minimum, malheureusement je n'ai rien trouvé, est ce qu'il existe une telle version?
Sur le site officiel, il est dit qu'il y a un build maven sur le SVN pour compiler l'API mais l'url de SVN n'est pas spécifiée, est il accessible en public? si oui quelle est l'url?
Existe il une documentation sur les différentes version (min,standard,etendue) de l'API pour savoir quelles classes javascript sont utilisées dans quelle version ?
Merci d'avance pour vos réponses.
Partager