9
votes

Icône de marqueur personnalisé Google Maps v3 ne garde pas la position sur la carte

Développement avec Google Maps v3.

Pour une sorte de raison, mon icône de marqueur personnalisé "change" C'est la position sur le zoom. On dirait qu'il ait une sorte de propriété "rembourrage" qui ne change pas avec zoom. P>

Cela signifie que la position informatique est correcte sur un zoom maximum (18), mais si je change de valeur de zoom, il " Déplace "un peu en haut, et cela fait un problème sur des valeurs de zoom plus petites, car on dirait que cela n'est pas la même position que possible. p>

Le marqueur est défini comme suit: P>

var image = new google.maps.MarkerImage('img/antennas/img.png',new google.maps.Size(100, 100));


0 commentaires

4 Réponses :


7
votes

Vous devez régler l'ancre du marqueur. La valeur par défaut est le fond central.

voir http://code.google.com/apis /maps/documentation/javascript/reference.html#MarkerImage


0 commentaires

2
votes

Basé sur votre description de "Padding", cela semble être un problème avec le positionnement de votre marqueur. Essayez de modifier la propriété d'ancrage du marqueur. Par défaut, l'ancre est en bas au centre de votre image. Si vous souhaitez que l'image soit centrée, vous devrez déplacer l'ancre la moitié de la taille de l'image pour le centrer.

voir http://code.google .COM / INTL / NO / APIS / MAPS / Documentation / JavaScript / Référence.HTML # MarkerImage pour référence.


0 commentaires

5
votes

Au lieu d'utiliser uniquement un marqueur, utilisez également un marqueur, à utiliser comme marqueur.

Dans cet exemple, j'utilise une marque qui est un cercle avec un point au milieu, donc je le veux toujours toujours centré. p>

Exemple P>

 var marker_image = new google.maps.MarkerImage(
        '../Media/icon_maps_marker.png',
         null,
         // The origin for my image is 0,0.
         new google.maps.Point(0, 0),
         // The center of the image is 50,50 (my image is a circle with 100,100)
         new google.maps.Point(50, 50)
     );
    var marker = new google.maps.Marker({
        clickable: true,
        map: map,
        position: center_location,
        icon: marker_image,
    });


0 commentaires

-1
votes

Voir la propriété d'ancrage dans l'icône: Anchor: Nouveau Google.maps.point (0, 0)

var icon = {
    url: image,
    anchor: new google.maps.Point(0, 0)
  };

  marker = new google.maps.Marker({
    position: Latlng,
    map: map,
    icon: icon,
    optimized: false
  });


0 commentaires