fingerup Posted October 11, 2010 Share Posted October 11, 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 Link to comment Share on other sites More sharing options...
fingerup Posted October 12, 2010 Author Share Posted October 12, 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); :) Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.