Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Erreur - geoportal-extensions-leaflet : Cannot read properties of undefined (reading 'nativeResolutions') #378

Closed
AnthonyGigerich opened this issue May 27, 2024 · 3 comments · Fixed by #380
Assignees
Labels

Comments

@AnthonyGigerich
Copy link

AnthonyGigerich commented May 27, 2024

Bonjour,

Le chargement du fichier GpPluginLeaflet.js renvoie une erreur : Cannot read properties of undefined (reading 'nativeResolutions')
Cela concerne plus précisément les lignes 63 & 64 du fichier src/CRS/EPSG2154.js.

Votre environnement

  • "leaflet":"1.9.4"
  • "geoportal-extensions-leaflet":"2.4.0"
  • Testé sur plusieurs navigateurs

Type d'issue

Retirer cette ligne : les checkboxes peuvent être cochées comme suit : [x]
[x] Report de bug
[ ] Requête d'une nouvelle fonctionnalité

Contexte

L'extension geoportal-extensions-leaflet est installé via npm, le moteur de carte est utilisé au sein d'une application Flask.
Cela fonctionnait il y a quelques mois. Après une pause dans le développement, nous reprenons celui ci, le code n'a pas changé, le seul changement est le passage de la version 2.3.1 (qui est devenu obsolète ou en tout cas ne fonctionnait plus) à la version 2.4.0.

Le code concerné est dans le fichier src/CRS/EPSG2154.js :

63: var o = Config.configuration.getTMSConf("LAMB93");
64: resolutions = o.nativeResolutions;

La variable o est undefined, et cela provoque une erreur à la ligne 64.

Supprimer la ligne 64, et donc forcer la sortie de la fonction _getResolutions à la valeur par défaut permet de résoudre le problème.

Pour les bugs : Etapes à suivre pour le reproduire

J'ai ouvert un dépôt avec un exemple minimal de ma configuration pour reproduire l'erreur :

https://github.com/AnthonyGigerich/bug-geoportal-extensions-leaflet

L'application Flask charge le template HTML. Le HTML lui charge l'extension, afin d'afficher une carte avec un fond de carte IGN.

Possible Cause/Correction/Solution technique (facultatif)

La fonction getTMSConf("LAMB93") retourne un attribut undefined, l'appel à l'attribut nativeResolutions sur l'élément undefined provoque une erreur.

Mise à part le problème de getTMSConf qui renvoie undefined, peut-être faut-il faire un contrôle et retourner la valeur par défaut si la configuration n'est pas chargée correctement à cette étape ? Cela semble être fait pour l'EPSG27572 mais pas pour les 2 autres.

@elias75015
Copy link
Contributor

Bonjour,

pouvez-vous tester avec la PR #380 svp ?

La configuration renvoyée pour le L93 a changé, le CRS a désormais pour nom LAMB93-5cm

@AnthonyGigerich
Copy link
Author

En effet cela fonctionne bien avec cette modification.

Merci pour le retour rapide @elias75015 !

@elias75015
Copy link
Contributor

Parfait, le correctif sera intégré à la prochaine release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants