arnaoke Posté(e) 3 mai 2010 Share Posté(e) 3 mai 2010 Bonjour à tous ! Tout d'abord une question, en cherchant un peu sur le net je suis tombé sur ce code : public Ball(Context context, float x, float y, int r) { super(context); mPaint.setColor(0xFFFF0000); this.x = x; this.y = y; this.r = r; } ma première est question est la suivante, qu'est ce que la variables Context ? pour ce qui s'agit de la 2° question, je voudrais afficher la carte gps, afficher un overlays à une certaine localisation, puis un cercle dont je pourrais régler le rayon avec une seekBar. Pour le moment mon problème se situe au niveau du cercle. J'ai réussi à implémenter la fonction me permettant de tracer le cercle (on modifiant/copiant/collant des boutes de code trouver sur le net) Je me suis deja creer une classe : 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); } } celle ci me permettant de dessiner le cercle, dont l'intérieur sera coloré en rouge. mon main est le suivant 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); float radius = (float)32.3 ;//CERCLE maMap = (MapView) findViewById(R.id.myGmap); maMap.setBuiltInZoomControls(true); maMap.addView(new ball(this,microdegrees(latitude),microdegrees(longitude), radius));//BALLE //OVERLAY 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); } private int microdegrees(double val){ return (int) (val * 1000000); } Jusque maintenant ok, je réussi à afficher le cercle sur la carte, mon problème est maintenant de l'afficher autour de l'overlay ... et en rentrant les meme coordonnées les 2 images ne sont pas cocentriques .... :( que faire ? 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.