Suite

Permettre au client de télécharger des calques vers Openlayers 3

Permettre au client de télécharger des calques vers Openlayers 3


Je veux permettre aux clients d'ajouter des couches vectorielles sous la forme d'un geojson à openlayers 3. Cela devrait ressembler à ce violon . Je sais comment ajouter plusieurs couches mais je veux que le client puisse ajouter une couche et voir sa couche ajoutée. Le calque n'a pas besoin d'être enregistré pour sa prochaine visite sur la page.


il y a deux manières différentes d'essayer,
1) vous devez héberger votre serveur Web pour recevoir le fichier que le client a téléchargé. Le fichier sera traité sur votre serveur et renverra le fichier geojson au front-end.
voici un exemple (avec php)

alors vous obtiendrez un fichier geojson à afficher dans ol3.
2) l'autre utilise File API pour traiter le fichier sans écrire le code côté serveur et lire le contenu du fichier à afficher dans ol3.
dev.w3.org/2006/webapi/FileAPI/

Je crée également une bibliothèque javascript pure pour convertir le fichier zip avec shp, dbf en geojson, tout comme l'utilisateur télécharge son fichier et l'affiche dans ol3.

(cette démo prend en charge .prj, donc pas besoin de définir EPSG et d'attribuer un codage approprié pour afficher l'attribut correct dans ol3)


J'ai pu télécharger un fichier KML côté client en utilisant HTML5 FileReader.readAsDataURL()

J'ai suivi ceci pour télécharger un fichier texte simple et restreindre aux fichiers kml

En suivant le didacticiel ci-dessus, utilisez reader.result comme URL pour définir la source d'une couche vectorielle dans le fichier kml à télécharger. Ajoutez ensuite la couche vectorielle à l'objet cartographique. J'espère que c'est clair si vous avez une certaine expérience avec OpenLayers 3.


Voir la vidéo: Présentation Qgis Web - QWC2