IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

drawCircle et son utilisation


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2010
    Messages : 31
    Par défaut drawCircle et son utilisation
    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:
    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)
    }
    En espérant avoir été assez clair !

    merci de m'avoir lu,

    Juan

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Salut,

    Afin que quelqu'un puisse t'aider, il est conseillé de donner ici les erreurs que tu as (soit à la compilation, soit à l'exécution (cf la vue eclipse "LogCat" pour avoir les traces d'exécutions)).

    Sinon petite remarque rapide sur le code que tu as fourni ici, c'est normal que ta méthode s'appelle elle même ?

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2010
    Messages : 31
    Par défaut
    Salut,

    Pour la méthode qui s'appelle elle meme, c'est justement l'objet de l'une de mes questions (après renseignements, c'est une sorte de surcharge de la méthode drawCircle, me semblais que ça marchait que pour les constructeurs en java ... passons )

    En fait je viens de regler le problème en créant directement ma classe :
    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
    20
    21
    22
    public class ball extends View {
    	private final float x;
        private final float y;
        private final float r;
        private final Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
     
     
        public ball(Context context, float x, float y, float r) {
            super(context);
            mPaint.setColor(0xFFFF0000);
            this.x = x;
            this.y = y;
            this.r = r;
            }
     
     
        @Override
       protected void onDraw(Canvas canvas) {
           super.onDraw(canvas);
           canvas.drawCircle(x, y, r, mPaint);
       }
    }
    Cette fois j'ai bel et bien un cercle qui s'affiche, avec ce main :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    public class Overlay extends MapActivity {
        //public String canvas = null;
    	/** Called when the activity is first created. */
     
    	MapView maMap;
    	MapController monControler;
    	float latitude = (float) 48.875536;
    	float longitude = (float) 2.335796;
     
    	public Canvas canvas = new Canvas();
     
     
     
     
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
     
            int radius = 32 ;//rayon du cercle
     
     
            maMap = (MapView) findViewById(R.id.myGmap);
            maMap.setBuiltInZoomControls(true);
            maMap.addView(new ball(this,latitude, longitude,radius));
     
            GeoPoint point = new GeoPoint(microdegrees(latitude), microdegrees(longitude));
     
            MonOverlay object = new MonOverlay(getResources().getDrawable(R.drawable.marker));
            object.addPoint(point);
            maMap.getOverlays().add(object);
     
            monControler = maMap.getController();
            monControler.setZoom(12);
            monControler.setCenter(point); 
     
        }
    cette fois-ci pas d'erreurs, juste que le cercle ne s'affiche pas au bon endroit,
    je voudrais en fait centrée mon cercle sur l'overlay, au lieu de ça, je dois dézoomer à fond pour voir ce fameux cercle, alors que les centres ont les même coordonnées.

    Avez vous une idée de ce que je dois faire ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Apache et son utilisation
    Par kagura dans le forum Apache
    Réponses: 9
    Dernier message: 21/06/2006, 16h38
  2. [PEAR][Services_Google] Erreur de syntaxe lors de son utilisation
    Par blueice dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 17/05/2006, 11h13
  3. [LDAP] Documentation sur son utilisation
    Par oligig dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 11/05/2006, 15h22
  4. [APACHE] Comprendre son utilisation
    Par sebeni dans le forum Apache
    Réponses: 1
    Dernier message: 03/04/2006, 14h24
  5. [VB][Excel]solverok son utilisation
    Par Math75 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/01/2006, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo