Suite

Objet GeoJSON non valide


Je travaille avec Leaflet pour essayer de lancer GeoJSON. Tout fonctionne bien lorsque je définis directement une var comme GeoJSON que j'essaie d'afficher :

var recensementtracts = { "type": "FeatureCollection",…

Cela fonctionne très bien mais remplit mon script de coordonnées et ainsi de suite. Le problème survient lorsque j'essaie d'utiliser la fonction L.geoJson() sur le fichier lui-même. Cela renvoie une erreur :

var recensementtracts = L.geoJson("tractsedited.geojson").addTo(map);

Vous devez charger le fichier via un appel AJAX, le chargement direct du fichier ne fonctionne pas. Vous pouvez soit utiliser le plugin AJAX, soit créer une variable globale dans le fichier que vous essayez de charger et utiliser directement cette variable.


Juste pour compléter la réponse de Michal Zimmermann :

Si vous ne souhaitez pas utiliser de plugin et souhaitez pouvoir charger des fichiers GeoJSON après le chargement de la page Web, vous pouvez également utiliser une simple requête ajax :

$.ajax({ type : "POST", url : 'your_geojson_url', dataType : 'json', success : function (response) { geojsonLayer = L.geoJson(response).addTo(map); map.fitBounds(geojsonLayer. getBounds()); } });

exemple en action : http://jsfiddle.net/expedio/qgkbrjwt/