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 :

Google Map v2 - GeoCoder - Customisation d'un Marker [Google Maps]


Sujet :

APIs Google

  1. #1
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2008
    Messages : 117
    Points : 139
    Points
    139
    Par défaut Google Map v2 - GeoCoder - Customisation d'un Marker
    Bonjour

    Je cherche a customizer un marker avec l'API Google Map V2 mais je me heurte a un probleme :

    Avec la localisation par Point ca fonctionne impeccable mais des que j'utilise la lib Geocoder de Gg je n'arrive pas a récupérer une variable au sein de la fonction callback qui me permettrait de personnaliser le marker :

    En simple le code donne ceci ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    for (var i in tableau)
    {
       var mavar = tableau[i]['text'] ;
       var monadresse = tableau[i]['address'] ;
     
       geocoder.getLatLng(
       monadresse , 
                  function(point) {
    //        ... traitement
       } 
     });
    }
    Au point "traitement" la variable mon mavar est toujours la meme, la derniere !
    Je me demande si c'est pas du au fait que geocoder est executé de manière asynchrone ...

    Voilà deux jours que je m'arrache les cheveux, si quelqu'un passe par là

    Merci

  2. #2
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2008
    Messages : 117
    Points : 139
    Points
    139
    Par défaut
    Auto résolu, il faut qu'une fonction soit appelée dans le call back de geocode.GetLatLng car la fonction est asynchrone, le fait d'appeler un fonction induit le fait que les variables soient empilées et dépilées en même temps que la fonction appelée ...

    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
    geocoder = new GClientGeocoder();
     
            map = new GMap2(document.getElementById("map"));
            map.setCenter(new GLatLng(50, 3, 13));
     
                    geocoder = new GClientGeocoder();
    function showAddress(address) {
     
                    var adresses = ["10 place de la joliette, 13002 MARSEILLE",
                   "15 place de la joliette, 13002 MARSEILLE",
                   "20 place de la joliette, 13002 MARSEILLE"];
     
     
                    for (var i = 0; i < adresses.length; i++) {
                                  alert(adresses[i]);
                                   var address = adresses[i];
                                   addMarkerAtGeocode(address);
     
            }
    }
     function addMarkerAtGeocode(address) {
     
                   geocoder.getLatLng(address, function(point) {
                                  if (!point) {
                                                  alert(address + " not found");
                                  } else {
                                                alert('2:' +   address);
                                                  var marker = createMarker(point, address);
                                                  map.addOverlay(marker);
                                  }
                   });
     
    }
     
    function createMarker(point, address) {
                    var marker = new GMarker(point);
                    return marker;
    }
     
    showAddress() ;

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

Discussions similaires

  1. [Google Maps] API v3 geocoder
    Par yahou29 dans le forum APIs Google
    Réponses: 1
    Dernier message: 29/11/2009, 00h43
  2. Google map markers
    Par G4uthier dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/06/2008, 00h12
  3. API Google Map et markers en XML
    Par greichka dans le forum APIs
    Réponses: 8
    Dernier message: 21/05/2008, 12h05
  4. Google Map : Menu liste de marker -> Affiche marker
    Par aurore22 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 18/05/2008, 10h55
  5. Text info bulle marker google map
    Par devadip dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 25/01/2008, 12h57

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