fingerup Posté(e) 11 octobre 2010 Share Posté(e) 11 octobre 2010 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 More sharing options...
fingerup Posté(e) 12 octobre 2010 Auteur Share Posté(e) 12 octobre 2010 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 More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.