Bonjour,
Tout d'abord, je tiens à vous remercier des nombreux postent qui arborent ce forums, ils sont d'une richesse incontournable !
Etant nouveaux en programmation orientée objet, je me suis décidé à approfondir mes connaissances dans le domaine en "essayant" de coder sur android.
Pour l'instant je me suis fixer comme but de "jouer" avec la map, le gps, et d'en comprendre les différentes fonctionnalités.
Je suis pour l'instante parvenu a "lancer" la map, j'ai réussi à afficher un overlay, je pense meme avoir compris le fonctionnement du layout, en implémentant une seekBar (ça me fait bizarre de dire tout ça, je pense me comprendre, mais le cas échéant , n'hésitez pas à me contredire !)
Mais là je suis bloqué ...
En effet, je voudrais créer un cercle autour de mon overlay, dont je pourrais regler le rayon avec la seekBar .
Première étape : creation du cercle , là deja ça commence mal ...
je m'explique, après quelques recherches sur ce site, je me suis rendu compte que pour faire ce que je voulais, j'avais besoin de la fonction drawCircle .
j'ai essayé tout betement, ds un premier temps de l'utiliser, le programme compile, mais je dois forcer la fermeture du programme (force close ds la fenetre du "portable" virtuel).
J'ai ensuite essayé de cherché à comprendre le fonctionnement de la fonction, et je suis tombé là dessus.
Ligne 265 =>Apparemment, il redéfini la fonction drawCircle avec de nouveaux paramètres, et utilise dedans la fonction d'origine .
J'ai deja vu ça en java, ça ne m'étonne donc pas, seul "hic", lorsque j'adapte la fonction à ma sauce, ça merde ...
voila le code de ma fonction drawCircle:
En espérant avoir été assez clair !
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 public void drawCircle(int cx, int cy, int radius, Paint paint) { //Paint paint = new Paint(); //Canvas canvas = new Canvas(); int borderColor =0 ; // la boucle if a été supprimé borderColor = Color.argb(77, Color.red(borderColor), Color.green(borderColor), Color.blue(borderColor)); paint.setColor(borderColor); paint.setAntiAlias(true); drawCircle(microdegrees(latitude),microdegrees(longitude), radius, paint);//this.canvas.drawCircle(cx, cy, radius, paint); //paint.setColor(insideColor); drawCircle(microdegrees(latitude), microdegrees(longitude), radius - 4, paint);//this.canvas.drawCircle(cx, cy, radius - 4, paint) }
merci de m'avoir lu,
Juan
Partager