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 :

Changer Marker Icon [Google Maps]


Sujet :

APIs Google

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 37
    Par défaut Changer Marker Icon
    Bonjour a tous,

    J'essaie de changer dynamiquement l'image d'un marqueur lorsque l'utilisateur clique sur un lien (le lien n'a peu d'importance ici).
    Tout se passe bien, l'image est bien changée, par contre, il y a un léger déplacement du marqueur sur la carte alors qu'il ne devrait pas y avoir de déplacement, juste le changement d'icone.
    Je m'explique :

    J'utilise un tableau de marqueurs en global dans mon script.
    lorsque l'utilisateur clique sur un lien, alors je vais chercher dans le tableau de marqueurs tous les marqueurs dont les images doivent changer. Tout cela dans une boucle for.
    voici un extrait du code javascript :

    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
     
     
    this.slider.find('a').click(function() {
    	    var code_movie_selected = $(this).attr("alt");
     
    	    var array_id = check_code_movie_in_array(code_movie_selected); // array_id est un tableau avec tous les index (ex : 2, 5, 12) des marqueurs qui doivent changer d'icone dans mon tableau global de marqueurs //
     
    	    initIconDefault(); // fonction qui remet par défaut les images des marqueurs, marche très bien.
     
    	    if (array_id.length > 0)
    	    {
    		for (var i = 0; i < array_id.length; i++)
    		{
    		    var ix = array_id[i]; // je récupère l'index dans le tableau du marqueurs dont l'image doit changer //
     
    		    var IconePerso = new google.maps.MarkerImage("images/marker.png",
    			new google.maps.Size(20,20),
    			new google.maps.Point(0,0),
    			new google.maps.Point(tableau_marqueurs[ix].getPosition().lat(), tableau_marqueurs[ix].getPosition().lng())
    		    );
    		    tableau_marqueurs[ix].setIcon(IconePerso); // marche bien mais déplace légèrement le marqueur de toujours la même distance (environ une trentaine de pixels en bas quelque soit la position du marqueur) //
    		}
    	    }
     
    	});

    Avez-vous une idee de ce qui peut bien se passer ? pourquoi mes marqueurs bougent - ils ?
    PS : j'ai pourtant vérifié avec des alert les positions lat et lng, rien ne change, tout reste normal, les marqueurs gardent bien leurs positions ...

    Merci d'avance, si vous avez des questions sur la compréhension du code, n’hésitez pas :p

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 213
    Par défaut
    Bonsoir,
    peut être un problème liée aux ancres des markers qui peuvent être différents de ceux du marker par défaut.

    http://code.google.com/intl/fr/apis/...ml#MarkerImage

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 37
    Par défaut
    Ok je vais regarder la documentation plus attentivement ^^

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 37
    Par défaut
    J'avais zappe de répondre pour ceux qui peuvent être dans la même galère.
    Oui en effet, il s'agit bien d'un problème d'ancre. Lors de la création d'un objet google.maps.MarkerImage, il est indispensable de spécifier les coordonnées des ancres pour éviter le bug de déplacement du marker sur la map.

    Je ne mets pas de code, tout est en fait bien expliquer dans la documentation.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/04/2005, 09h47
  2. [MFC]changer l'icone d'un éxécutable
    Par Blo0d4x3 dans le forum MFC
    Réponses: 3
    Dernier message: 31/08/2004, 18h20
  3. [C#] Changer l'icone dynamiquement
    Par Piolet dans le forum Windows Forms
    Réponses: 16
    Dernier message: 25/08/2004, 14h08
  4. [Swing]changer l'icone du hotjava
    Par juflata dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 11/08/2004, 15h08
  5. Réponses: 4
    Dernier message: 16/02/2004, 16h55

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