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

APIs Google Discussion :

Repertoire distant de fichiers .kml/z [Google Maps]


Sujet :

APIs Google

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 320
    Par défaut Repertoire distant de fichiers .kml/z
    Bonjour,
    J'ai épluché la doc concernant les "Layers" mais je ne trouve pas ma réponse ...

    Est il possible via un bouton sur la carto, d'ouvrir un répertoire distant et de choisir le(s) kml/z à charger ou je suis obligé d'indiquer "en dur" le chemin complet de ce(s) fichier(s) kml/z ?

    Je demande ça, car il serait pratique de pouvoir charger / décharger le(s) fichier(s) que je souhaite en overlay sur la carto sans être obligé de modifier le(s) chemin(s) de ceux ci dans le code à chaque fois.
    Merci de vos lumières

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut
    Bonjour,
    qu’appelles tu « d'ouvrir un répertoire distant et de choisir le(s) kml/z à charger », des fichiers qui sont sur un autre serveur ou ... !?!

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 320
    Par défaut
    Bonsoir NoSmoking,
    Désolé de répondre si tard, je sais pas ce que j'ai fais mais la notification à du passer à la trappe ...

    Pour répondre à :
    qu’appelles tu « d'ouvrir un répertoire distant et de choisir le(s) kml/z à charger », des fichiers qui sont sur un autre serveur ou ... !?!
    Avec d'autres mots ça donne " Ouvrir un dossier héberger sur un serveur de fichier via une URL ou je pourrais cliquer sur le(s) fichier(s) kml / kmz que je souhaiterais afficher en overlay sur GMaps."

    J'ai, depuis, réussi à afficher un kml, le code est assez facile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var kmlLayer = new google.maps.KmlLayer("http://MonServeurDeFichiers/Dossier_KML/fichier.kml");
    kmlLayer.setMap(map);
    et j'ai une autre approche que la "méthode" initiale.

    (Je pose les questions car je n'ai pas accès au serveur de fichiers pour effectuer mes tests. Je dépends de quelqu'un qui n'est pas trop dispo le soir)

    Est il possible de faire quelque chose comme ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var kmlLayer = new google.maps.KmlLayer("http://MonServeurDeFichiers/Dossier_KML/*.kml");
    kmlLayer.setMap(map);
    Ou "*" représente les 2 ou 3 fichiers .kml dans ce dossier. Et ce ce faite, il me charge tous les fichiers du dossier.

    Si non, y'a t'il une méthode qui permet de le faire sans avoir à le "coder en dur" dans mon fichier .js ?
    Ce(s) fichier(s) / dossier(s) évolue(nt) régulièrement et je cherche un moyen de me passer d'avoir à changer l'(les) URL(S) à la main à chaque changement.

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut
    Tu peux toujours demander au détenteur de l'espace de stockage des fichiers de mettre à ta disposition un « fichier requête » qui te renverrait les fichiers disponibles au moment de celle-ci, une requête Ajax par exemple.

    Il te suffirait ensuite de gérer les réponses sur ta page pour les mettre à disposition ou les afficher.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 320
    Par défaut
    Bonjour NoSmoking,
    Bon j'ai résolu une partie de mon problème en créant mon serveur de fichiers.
    J'y avais pas pensé mais je suis chez l'ISP Free, j'ai donc désormais une "page perso" (MonServeurDeFichiers.free.fr)
    (plus de 3 semaines d'activation faut pas être pressé ... mais bon je vais pas m'en plaindre cette solution m'est offerte gratuitement et me dispense donc de louer un emplacement + nom de domaine chez un hébergeur)

    J'utilise plus un kml (limité à 3Mo) mais un kmz (également 3Mo mais 10Mo décompressé)
    Concernant l'import du fichier kmz, j'ai résolu mon "problème" comme ceci :

    Il m'est possible d'obtenir le nom de la course, je supprime les espaces et les tirets par rien et j'utilise la variable dans l'URL.
    Sur mon serveur de fichier, il me suffit de nommer correctement le fichier .kmz et ça fonctionne parfaitement.

    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var raceName = race.name.replace(/[\s|-]/g,""); // suppression des espaces et tirets
    var kmzUrl = "http://MonServeurDeFichiers.free.fr/Dossier_kmz/" + raceName + ".kmz"; // URL du fichier
    var kmzLayer = new google.maps.KmlLayer(kmzUrl);
    kmzLayer.setMap(map);

    Maintenant je souhaite mettre en place 1 ou 2 adresses de "secours" au cas ou mon serveur de fichiers serait en vrac (ça c'est déjà passé et j'ai du modifié à la main pour basculer sur un autre serveur free qui lui était fonctionnel)

    L'idée est de tester si le fichier kmz est disponible sur mon serveur, si oui il l'affiche sinon il test si le fichier est dispo sur l'autre serveur etc ...
    J'ai déjà essayé du code pour tester sur mon serveur, les fichiers sont disponibles puisqu'ils fonctionnent mais le test me retourne toujours une erreur CORS en console.
    Je peux détailler ça ici ou je dois ouvrir un autre sujet dans la partie JS du forum ?
    Nom : Capture d’écran 2019-04-25 à 12.35.26.png
Affichages : 116
Taille : 21,6 Ko
    Merci

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 320
    Par défaut
    Citation Envoyé par rlelamer Voir le message
    J'ai déjà essayé du code pour tester sur mon serveur, les fichiers sont disponibles puisqu'ils fonctionnent mais le test me retourne toujours une erreur CORS en console.
    Nom : Capture d’écran 2019-04-25 à 12.35.26.png
Affichages : 116
Taille : 21,6 Ko
    J'viens de trouver le pourquoi du comment ...
    L'erreur était dans les permissions du manifest.json ... il m'a suffit de déclarer "http://*.free.fr/Dossier_kmz/" pour que tout fonctionne ...

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

Discussions similaires

  1. [Batch] acceder à des repertoires distants dont les IP sont dans un fichier txt
    Par kriegmaster dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 21/05/2015, 10h33
  2. sauvegarde d'un fichier dans un repertoir distant, FTP
    Par slimlus dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 07/03/2012, 15h53
  3. Lister fichier dans un repertoire distant
    Par toitoine01 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/06/2008, 09h30
  4. Réponses: 3
    Dernier message: 17/08/2005, 11h03
  5. Réponses: 2
    Dernier message: 02/07/2004, 13h46

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