Aller au contenu

positionner centre en bas un marqueur sur une map


fingerup

Recommended Posts

bonjour,

Je place sur une map dans mon application android des marqueurs avec une coordonnée. Mais c'est le coin en haut à gauche de mon image qui pointe sur ma coordonnée alors que je souhaiterais que ce soit le centre du bas de mon image qui pointe sur la coordonnée.

J'ai trouvé plusieurs liens sur internet mais aucun m'a permis de réussir.

pourrais je avoir quelques explications.

Merci

Lien vers le commentaire
Partager sur d’autres sites

auto réponse :

Grace à la méthode boundCenterBottom qui doit être mis dans le constructeur de la classe personnalier qui étend ItemizedOverlay. Comme ceci :

    
public PersoItemizedOverlay(Drawable defaultMarker, Context context) {
   super(boundCenterBottom(defaultMarker));
   mContext = context;
}

Donc à la création cette liste d'overlay on passera un Drawable qui sera l'image par défaut du pin's sur la carte, celle ci sera centré en bas.

Mon problème est que je voulais changer d'image du pin's parfois et donc je n'utilisé pas l'image par défaut "setté" dans le constructeur de la liste d'orverlay. Pour chaque overlay ajouté je faisais un setMarker(MonImage). Donc par défaut mon image était centré par le coin haut gauche. Pour centrer l'image sur le centre bas utiliser la méthode .setBounds() sur mon image comme ceci :

Drawable monImage = this.getResources().getDrawable(R.drawable.minPinsPerso);
int w = monImage.getIntrinsicWidth();
int h = monImage.getIntrinsicHeight();
monImage.setBounds(-(w >> 1), -h, (w >> 1), 0);

monOverlay.setMarker(monImage );
maListeOverlay.addOverlay(monOverlay);

:)

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...