Bonjour,

Après quelques mois d'abandon de la carto IGN, je reviens afin de mettre à jour notre site avec la dernière version (GeoportalExtended.js).

Le but est d'afficher des fichiers KML aussi ai-je récupérer le fichier Javascript de l'api et je l'utilise en local (au passage, y a-t-il besoin de plus ?).

J'ai suivi toutes les étapes préconisées pour la migration mais j'obtiens dans firebug l'erreur suivante : "TypeError: Geoportal.Catalogue.TERRITORIES[territory] is undefined"

J'y ai aussi vérifié que Geoportal.Catalogue.TERRITORIES['FXX'] était bien connu dans la console Firebug.

Est-ce un problème de latence ?

Voici une portion du code utilisé :

Dans un premier temps, j'ai bien l'init

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
19
function loadAPI() 
    {
        if (IsCartoIGN==true)
	    {
	        // on attend que les classes soient chargées
	        if (checkApiLoading('loadAPI();', ["OpenLayers", "Geoportal", "Geoportal.Viewer", "Geoportal.Viewer.Default", "Geoportal.Viewer.Standard", "Geoportal.Catalogue"]) === false)
            {
                return;
            }

            // on charge la configuration de la clef API, puis on charge l'application
            Geoportal.GeoRMHandler.getConfig([CleIGN], null, null, {
                onContractsComplete: initGeoportalMap
            });
        }
    }
    
    window.onload= loadAPI;
puis une fois la page chargée...avec SystemeReferenceCoordonneesIGN = 'FXX' pour le cas de mon KML courant

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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function geoportalLoadmap(idDivMap, mode, territoire, crs, dispcrs, proxy) 
{
        var options= {};
        if(mode) {options.mode= mode;}
        if (territoire) { options.territory = territoire; }
        if(crs) {options.projection= crs;}
        if(dispcrs) {options.displayProjection= dispcrs;}
        if(proxy) {options.proxy= proxy;}
        options.nameInstance = 'map';
        
        map = new Geoportal.Viewer.Default(idDivMap,  OpenLayers.Util.extend(options,
                                                        window.gGEOPORTALRIGHTSMANAGEMENT===undefined? {'apiKey':CleIGN} : gGEOPORTALRIGHTSMANAGEMENT)
        );

        return map;
}

function initGeoportalMap() 
{
    ObjetDIV = window.document.getElementById('GeoportalMapDiv');    
    if ((ObjetDIV) && (IsAffichageAFaire == true))
    {
        if (map == null) 
        {
            if (typeof(geoportalLoadmap) == 'function')
                {
                    geoportalLoadmap("GeoportalMapDiv", "normal", SystemeReferenceCoordonneesIGN);
                }
... // Chargement des couches ad hoc
        }
...
    }
   ....
C'est semble-t-il le "territory" qui semble ne pas être connu...comme c'est la version compressée javascript, difficile d'aller plus loin dans l'exploration du code afin de trouver le blême...

Merci d'avance pour tout éclaircissement.