Android - chemin de dessin que de superposition sur MapView
J'ai une classe qui étend la classe de Superposition et implemments de Superposition.Snappable. J'ai remplacé son tirage méthode:
@Override
public void draw(Canvas canvas, MapView mv, boolean shadow)
{
Projection projection = mv.getProjection();
ArrayList<GeoPoint> geoPoints = new ArrayList<GeoPoint>();
//Creating geopoints - ommited for readability
Path p = new Path();
for (int i = 0; i < geoPoints.size(); i++) {
if (i == geoPoints.size() - 1) {
break;
}
Point from = new Point();
Point to = new Point();
projection.toPixels(geoPoints.get(i), from);
projection.toPixels(geoPoints.get(i + 1), to);
p.moveTo(from.x, from.y);
p.lineTo(to.x, to.y);
}
Paint mPaint = new Paint();
mPaint.setStyle(Style.FILL);
mPaint.setColor(0xFFFF0000);
mPaint.setAntiAlias(true);
canvas.drawPath(p, mPaint);
super.draw(canvas, mv, shadow);
}
Comme vous pouvez le voir, je fais une liste des points sur une carte et je les veux pour former une forme polygonale.
Maintenant, le problème est que lorsque j'ai mis de la peinture de style à REMPLIR ou FILL_AND_STROKE rien ne s'affiche sur l'écran, mais quand je l'ai mis pour être juste, d'avc, et de définir la largeur du trait, il a l'dessine ce qu'il est censé tirer.
Maintenant, j'ai cherché une solution, mais rien ne vient. Pouvez-vous me dire si j'ai raté quelque chose à régler dans le code lui-même, ou il y a des sortes de contraintes lors de l'élaboration de recouvrement des toiles?
Grâce
OriginalL'auteur Rabas | 2010-06-14
Vous devez vous connecter pour publier un commentaire.
Un peu les choses. Vous devez utiliser
p.moveTo(from.x, from.y);
seule fois, c'est à dire, la première fois quand vous voulez le faire pour la première fois.Essayez ceci pour définir les attributs de l'
paint
objet utilisé pour la peinture du polygone.Espère que cette aide.
OriginalL'auteur Soumya Simanta