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 :

Markers et fichier xml [Google Maps]


Sujet :

APIs Google

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Février 2012
    Messages : 18
    Points : 13
    Points
    13
    Par défaut Markers et fichier xml
    Bonjour à toutes et à tous

    Voilà , j'ai un souci pour mettre en place googlemap sur mon site je travail déjà avec google map, en version 2 qui fonctionne et voudrais passer à la version 3, la carte s'affiche sans souci mais les markers eux ne s'affiche pas .

    J'utilise comme base ceci qui fonctionne très bien chez google
    Mon niveau langage web , eh bien ça dépasse pas
    Et mon Anglais est un peu rouillé .

    J'ai mis en ligne les trois fichiers que voici , ceci pour étudier le fonctionnement chez mon hébergeur ici , sans modifier quoique ce soit:

    moredata.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?xml version="1.0" encoding="UTF-8"?>
    -<markers>
    		<marker lng="-122.144841" lat="37.427770" name="Jackie"/>
    		<marker lng="-122.125604" lat="37.413320" name="Peter"/>
    		<marker lng="-122.139062" lat="37.433480" name="Mary"/>
    		<marker lng="-122.162307" lat="37.445427" name="Puff"/>
      </markers>
    util.js
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    /**
    * Returns an XMLHttp instance to use for asynchronous
    * downloading. This method will never throw an exception, but will
    * return NULL if the browser does not support XmlHttp for any reason.
    * @return {XMLHttpRequest|Null}
    */
    function createXmlHttpRequest() {
     try {
       if (typeof ActiveXObject != 'undefined') {
         return new ActiveXObject('Microsoft.XMLHTTP');
       } else if (window["XMLHttpRequest"]) {
         return new XMLHttpRequest();
       }
     } catch (e) {
       changeStatus(e);
     }
     return null;
    };
     
    /**
    * This functions wraps XMLHttpRequest open/send function.
    * It lets you specify a URL and will call the callback if
    * it gets a status code of 200.
    * @param {String} url The URL to retrieve
    * @param {Function} callback The function to call once retrieved.
    */
    function downloadUrl(url, callback) {
     var status = -1;
     var request = createXmlHttpRequest();
     if (!request) {
       return false;
     }
     
     request.onreadystatechange = function() {
       if (request.readyState == 4) {
         try {
           status = request.status;
         } catch (e) {
           // Usually indicates request timed out in FF.
         }
         if (status == 200) {
           callback(request.responseXML, request.status);
           request.onreadystatechange = function() {};
         }
       }
     }
     request.open('GET', url, true);
     try {
       request.send(null);
     } catch (e) {
       changeStatus(e);
     }
    };
     
    /**
     * Parses the given XML string and returns the parsed document in a
     * DOM data structure. This function will return an empty DOM node if
     * XML parsing is not supported in this browser.
     * @param {string} str XML string.
     * @return {Element|Document} DOM.
     */
    function xmlParse(str) {
      if (typeof ActiveXObject != 'undefined' && typeof GetObject != 'undefined') {
        var doc = new ActiveXObject('Microsoft.XMLDOM');
        doc.loadXML(str);
        return doc;
      }
     
      if (typeof DOMParser != 'undefined') {
        return (new DOMParser()).parseFromString(str, 'text/xml');
      }
     
      return createElement('div', null);
    }
     
    /**
     * Appends a JavaScript file to the page.
     * @param {string} url
     */
    function downloadScript(url) {
      var script = document.createElement('script');
      script.src = url;
      document.body.appendChild(script);
    }
    et le fichier url_info.html

    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
    41
    42
    43
    44
    45
    46
    <!DOCTYPE html>
    <html>
    <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <title>Google Maps JavaScript API v3 Example: Common Loader</title>
    <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
    <script type="text/javascript" src="util.js"></script>
    <script type="text/javascript" >
      var infowindow;
      var map;
     
      function initialize() {
        var myLatlng = new google.maps.LatLng(37.4419, -122.1419);
        var myOptions = {
          zoom: 13,
          center: myLatlng,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
        downloadUrl("moredata.xml", function(data) {
          var markers = data.documentElement.getElementsByTagName("marker");
          for (var i = 0; i < markers.length; i++) {
            var latlng = new google.maps.LatLng(parseFloat(markers[i].getAttribute("lat")),
                                        parseFloat(markers[i].getAttribute("lng")));
            var marker = createMarker(markers[i].getAttribute("name"), latlng);
           }
         });
      }
     
      function createMarker(name, latlng) {
        var marker = new google.maps.Marker({position: latlng, map: map});
        google.maps.event.addListener(marker, "click", function() {
          if (infowindow) infowindow.close();
          infowindow = new google.maps.InfoWindow({content: name});
          infowindow.open(map, marker);
        });
        return marker;
      }
     
    </script>
    </head>
    <body onload="initialize()">
      <div id="map_canvas" style="width:400px; height:300px"></div>
    </body>
    </html>
    Tous ses fichiers sont dans le même répertoire ici.
    Quelqu'un a t'il une idée , pour commencer a réaliser les modifs pour mon propre usage il faut que je fasse fonctionner ce qui marche déjà .
    J'ai déjà eu quleques difficulté à faire fonctionner la version 2

    Merci dores et déjà pour votre aide
    Souhaitant que cela possible

    Salutations
    Philippe

    PJ: les 3 fichiers concernés
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 677
    Points
    44 677
    Par défaut
    Bonsoir,
    erreur de copier/coller ou vrai erreur ??, je parle du tiret devant la balise <markers> en ligne 2 de ton fichier XML
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?xml version="1.0" encoding="UTF-8"?>
    <markers>
    	<marker lng="-122.144841" lat="37.427770" name="Jackie"/>
    	<marker lng="-122.125604" lat="37.413320" name="Peter"/>
    	<marker lng="-122.139062" lat="37.433480" name="Mary"/>
    	<marker lng="-122.162307" lat="37.445427" name="Puff"/>
    </markers>

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Février 2012
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    Bonsoir,
    erreur de copier/coller ou vrai erreur ??, je parle du tiret devant la balise <markers> en ligne 2 de ton fichier XML
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?xml version="1.0" encoding="UTF-8"?>
    <markers>
    	<marker lng="-122.144841" lat="37.427770" name="Jackie"/>
    	<marker lng="-122.125604" lat="37.413320" name="Peter"/>
    	<marker lng="-122.139062" lat="37.433480" name="Mary"/>
    	<marker lng="-122.162307" lat="37.445427" name="Puff"/>
    </markers>
    Merci beaucoup NoSmoking, cela fonctionnne .
    C"est un copier/coller tel quel ici, mais il y a moyen de reduire le nombre de ligne d'ou le signe moins , je me suis fais avoir !!

    Merci encore pour ton aide , j'aurais encore besoin de tes connaissances mais je posterais un autre fil , rien a voir avec les markers ,mais ce qui est possible de mettre comme infos et liens html dans les fichiers .xml .

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 677
    Points
    44 677
    Par défaut
    il est préférable de copier la source et non l'affichage.

    Merci encore pour ton aide , j'aurais encore besoin de tes connaissances mais je posterais un autre fil , rien a voir avec les markers ,mais ce qui est possible de mettre comme infos et liens html dans les fichiers .xml .
    si le fichier formé reste valide il n'y a aucun problème
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?xml version="1.0" encoding="UTF-8"?>
    <markers>
    	<marker lng="-122.144841" lat="37.427770" name="Jackie"/>
    	<marker lng="-122.125604" lat="37.413320" name="Peter"/>
    	<marker lng="-122.139062" lat="37.433480" name="Mary"/>
    	<marker lng="-122.162307" lat="37.445427" name="Puff" lien="http://xml.developpez.com/cours/?page=tech#tech_xml" />
    </markers>
    à voir http://xml.developpez.com/cours/?page=tech#tech_xml

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Février 2012
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Je pense que les remerciements ne suffisent plus a ce niveau d'aide NoSmoking.
    Malgré tous je n'ai pas d'autres solutions pour l'instant , donc merci beaucoup pour l'exemple et le lien vers les tutos .
    Je vais lire et tester tous cela ce week-end .



    Bonne soirée à toutes et à tous
    Philippe

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 29
    Points : 22
    Points
    22
    Par défaut
    Bonojour,

    Je me permet de poser une question:

    J'ai copié le code de trc085 et bien sur modifié le fichier xml comme le dis Nosmoking mais les markers ne s'affichent pas chez moi?
    Une idée?
    Merci je galère grave avec google map !!

    mon but:

    Afficher une 50 aine de markers par région, sachant quie les données viennet d'une bdd

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Février 2012
    Messages : 18
    Points : 13
    Points
    13
    Par défaut Inutile de reprendre la totalité du message précédent.
    Bonjour

    Tu devrais mettre ton code et si NoSmoking passe par là ou si je voyais quelque chose de bizarre dans ton code , il sera plus facile de te donner notre aide
    Si cela peu aussi t'aider j'ai continuer sur mon code dans un autre fil pour une autre question ici,ou j'avais eu un souci d'affichage de Markers , avec le code que tu as copié semble t'il .

    J'espère que cela t'aidera .

    Philippe

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

Discussions similaires

  1. [Google Maps] Pas d'affichage cartes + personalisation markers et liens dans fichiers xml
    Par trc085 dans le forum APIs Google
    Réponses: 14
    Dernier message: 07/03/2012, 17h40
  2. Recuperation du fichier xml
    Par Geulderack dans le forum XMLRAD
    Réponses: 10
    Dernier message: 28/02/2003, 11h06
  3. Lire un attribut dans un fichier XML en C++
    Par ti.k-nar dans le forum XML
    Réponses: 2
    Dernier message: 14/10/2002, 15h22
  4. [Kylix] Composant IBM pour fichiers XML
    Par Mister Nono dans le forum EDI
    Réponses: 1
    Dernier message: 29/09/2002, 20h28
  5. Balises HTML dans un fichier XML
    Par Bastet79 dans le forum XML/XSL et SOAP
    Réponses: 12
    Dernier message: 04/09/2002, 15h29

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