IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

Affichage avec le plugin Leaflet-ajax [LeafLet]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2019
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Affichage avec le plugin Leaflet-ajax
    Bonjour,

    Je suis en train de créer une carte interactive à partir de Leaflet. Je souhaitais intégrer un fichier externe GeoJSON. Sur le tutoriel de Leaflet, il est préconisé de modifier le fichier geojson avec var ma_variable = contenu_fichier_geojson, puis d'enregistrer ce nouveau fichier en .js . Pas de souci là-dessus, ça fonctionne très bien !
    Cependant mon problème est que mon fichier geojson que je souhaiterai utiliser va être mise à jour au moins une fois par jour. Et évidemment il est hors de question que je le modifie manuellement à chaque fois !

    J'ai vu qu'il existait le plugin Leaflet-ajax (https://github.com/calvinmetcalf/leaflet-ajax), sauf que je n'arrive pas à le faire fonctionner...
    J'ai enregistré l'ensemble des données du plugin en local. Dans mon script html, dans mon <head>,
    j'ai bien ajouté l'appel au script : <script type="text/javascript" src="leaflet-ajax-gh-pages/dist/leaflet.ajax.js"></script>.
    Mon fichier geojson semble correct (je le mets en pièce jointe).
    Enfin dans ma balise <script>, je crée ma carte "mymap" (pas de problème !), et j'appelle mon fichier geojson de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var geojsonLayer = new L.GeoJSON.AJAX("Test_point.geojson");
    geojsonLayer.addTo(mymap);
    Et mes données ne s'affichent pas Je ne comprends pas vraiment pourquoi...
    Je teste mon script html sous Firefox. Ma version de Leaflet est la 1.5.1

    Si quelqu'un a des idées sur le pourquoi, ça ne fonctionne pas... Je serais également preneuse d'une autre solution "facile", si jamais !

    Merci beaucoup pour votre aide !

    Test_point.txt

    Cindy

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    Salut,

    je n'ai jamais utilise leaflet-ajax, mais pour mettre a jour de la data, tu peux
    - recup ta data en ajax (classique)
    - stocker la data dans des variables (pour ne pas refaire des appels ajax inutils)
    - clear ton layer
    - repeupler ton layer avec la nouvelle data
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2019
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    J'ai effectivement vu, en farfouillant sur le web, qu'il y avait des solutions en utilisant ajax. Mais je ne connais pas du tout ce langage. Je ne sais même pas comment intégrer de l'ajax dans du html donc ça me parait compliqué pour moi comme solution.
    J'y viendrai peut-être si je ne trouve rien de plus simple.

  4. #4
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    effectivement, si tu debutes, ma solution risque d'etre complexe...
    as-tu des erreurs dans la console de debug (F12) => onglet "console"

    si tu ajoutes un console.log(geojsonLayer);, qu'as-tu dans la console ?
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  5. #5
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2019
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Je ne connaissais pas cette ligne de code pour connaître l'erreur en cause (merci !). La console m'indique ce type d'erreur : "Raison: La requête CORS n'est pas HTTP". En regardant l'aide associée, j'appelle bien un fichier local, mon URL commence par "file:///". Alors qu'apparemment l'URL devrait être en https....
    Est-ce que tu saurais comment je peux créer une telle adresse ?

  6. #6
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    ce sont les problemes "types" de crossdomain.
    tu ne peux pas faire des appels ajax a un autre domaine (et non plus faire appel a des fichiers locaux file:///....) pour des questions de securite

    je t'invite a te faire un serveur local (wampserver) et d'y mettre ton code/fichiers, tu pourras ainsi faire des requetes en http://localhost....
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  7. #7
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2019
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    J'ai pu installer Wampserver, et tout fonctionne à merveille !
    Merci beaucoup pour ton aide !
    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Bug d'affichage avec le plugin jQuery Star Rating Plugin
    Par dark_vidor dans le forum jQuery
    Réponses: 1
    Dernier message: 03/09/2009, 00h08
  2. Affichage avec plugin datepicker
    Par broule dans le forum jQuery
    Réponses: 4
    Dernier message: 22/05/2009, 11h16
  3. [AJAX] simple affichage avec Ajax.Request ne fonctionne pas
    Par karimphp dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 18/12/2007, 09h35
  4. [AJAX] Affichage avec AJAX
    Par bernylap dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/10/2007, 16h55
  5. [AJAX] Affichage avec Firefox
    Par sarapis dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/05/2006, 16h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo