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 :

Zoom et fichiers kml [Google Maps]


Sujet :

APIs Google

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2006
    Messages : 75
    Points : 59
    Points
    59
    Par défaut Zoom et fichiers kml
    Bonjour à tous,

    Je met en place une délimitation de zones dans une carte Google Maps grâce à plusieurs fichiers KML. Je rencontre deux problème que je n'arrive pas à résoudre et pour lesquels je n'ai pas trouvé d'informations pertinentes.

    Zoom
    Tout d'abord, le niveau de zoom déclaré dans dans la variable MyOptions de la fonction initialize() n'est pas pris en compte lorsque j'affiche les fichiers KML. Par contre, dés que je commente les lignes qui permettent d'afficher les fichiers, le zoom fonctionne correctement. Je précise qu'il s'agit de fichiers kml utilisés en local (les fichiers sont dans un répertoire sur l'hébergement du site en question).

    Légende
    J'ai aussi une petite fonction qui permet d'afficher le nom de chaque zone dans un div (affichage du contenu de la balise <Placemark> => <name> du fichier KML). Tout d'abord, la fonction est incapable d'afficher la balise description sans que je comprenne pour quelle raison... et ensuite le contenu de la balise name s'affiche, mais je n'arrive pas le mettre à jour. C'est à dire que lorsque je change le contenu de cette balise, dans la carte, c'est toujours l'ancienne valeur qui est affichée...

    J'espère que mes explications sont claires.

    J'ai intégré tout ceci dans un Drupal, j'ai déjà désactivé l'utilisation du cache dans Drupal, je l'ai aussi vidé, sans obtenir de différence à l'affichage...

    Est-ce que vous auriez une idée du problème ??
    Je vous remercie par avance.

    Voici l'intégralité du fichier javascript contenant les fonctions d'affichage de la carte et des fichiers KML... peut être ai-je oublié une option ??



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    function initialize() {
        var latlng = new google.maps.LatLng(45.286482,3.383789);
        var myOptions = {
          zoom: 8,
          center: latlng,
          mapTypeId: google.maps.MapTypeId.ROADMAP, //Pour affichage en mode plan
          //mapTypeId: google.maps.MapTypeId.SATELLITE, //Pour affichage en mode satellite
          disableDefaultUI: false,
          draggable: true,
          keyboardShortcuts: true,
          mapTypeControl: true,
          scaleControl: true,
          scrollwheel: true
        };
     
        var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
     
        // Set KML layers
        var kmlLayers = new Array();
        var text = new Array();
     
        for (var i = 1; i < 7; i += 1) {
     
          // kmlFilePath public urls to KML files
          var kmlFilePath = 'http://www.site-en-construction.com/google.maps/' + 'kml/0' + i + '.kml';
          kmlLayers[i] = new google.maps.KmlLayer(kmlFilePath, {suppressInfoWindows: true});
          kmlLayers[i].setMap(map);
          google.maps.event.addListener(kmlLayers[i], 'click', function(kmlEvent) {
            text[i] = kmlEvent.featureData.name;
            showInDiv(text[i]);
          });
     
        }
     
    }
     
      function showInDiv(letexte) {
        var sidediv = document.getElementById('contentWindow');
        sidediv.innerHTML = letexte;
      }
    Si je remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    text[i] = kmlEvent.featureData.name;
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    text[i] = kmlEvent.featureData.description;
    Le div affiche undefined à la place de la valeur de la balise description... c'est pourtant un code tiré d'un exemple de Google. Mais ce problème n'est pas important pour le moment sachant que je peux afficher l'autre balise.

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2006
    Messages : 75
    Points : 59
    Points
    59
    Par défaut Joyeuses fêtes
    Je profite de l'instant pour souhaiter à tout le monde de joyeuses fêtes de fin d'année.

    Cela permet aussi de remonter le sujet, parce que je n'ai toujours pas trouvé de solution à ce problème, mais je suis certain de ne pas être le seul à l'avoir rencontré. Le tout étant qu'une personne ayant trouvé la solution passe par ici

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Désolé de ne pouvoir t'aider, mais en tous cas je confirme ton problème
    Je rencontre le même problème de zoom, à savoir que le facteur zoom n'est plus pris en compte lorsque l'on importe un fichier kml. En fait, pour préciser un peu le problème, il ne se produit que lorsque l'on souhaite zoomer un peu plus que nécessaire :
    Mon fichier kml trace une polyline autour d'une zone de la carte. Si je veux régler le zoom pour que la polyline dépasse un peu des bords de la carte, le zoom n'est pas pris en compte. En revanche, si je veux dezoomer largement la carte, le zoom est bien pris en compte. Tout se passe donc comme si google map adaptait le zoom de manière à ce que toute la polyline soit affichée (uniquement si elle ne l'était pas déjà).
    Si quelqu'un a une idée...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Je ne sais pas si tu as trouvé la solution depuis, Benzz, mais je l'ai trouvée, donc la voila, si ça peut servir, à toi ou a quelqu'un qui passera par la dans l'avenir :

    Il faut utiliser l'option preserveViewport et la mettre a true lorsque l'on crée le layer kml.
    Cela donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    kmlLayers[i] = new google.maps.KmlLayer('http://www.site-en-construction.com/ton-fichier.kml', {preserveViewport: true});
    kmlLayers[i].setMap(map);

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2006
    Messages : 75
    Points : 59
    Points
    59
    Par défaut
    Bonjour Fanfan,

    Je te remercie pour ta réponse. Je n'ai pas trouvé de solution à ce problème, j'ai même abandonné ce mode d'affichage finalement... si j'ai l'occasion de me pencher à nouveau sur le problème, j'essaierai ta solution.

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

Discussions similaires

  1. fichier kml à partir d'Excel pour Google Earth
    Par lucy22 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 15/02/2013, 15h25
  2. Zoom par défaut de mon fichier kml
    Par fk04 dans le forum IGN API Géoportail
    Réponses: 2
    Dernier message: 30/06/2010, 09h49
  3. Construction d'un fichier kml
    Par maxime8687 dans le forum MATLAB
    Réponses: 6
    Dernier message: 22/02/2008, 15h27
  4. Réponses: 2
    Dernier message: 26/04/2007, 18h17

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