J'ai fait quelque chose de similaire. J'ai ajouté quelques marqueurs à un MapView
et ensuite je les ai connectés avec une ligne. J'ai une classe LineOverlay
qui s'étend Overlay
. Dans le constructeur, il obtient la liste des éléments à connecter par lignes.
Quelque chose comme:
public LineOverlay(ItemizedOverlay<? extends OverlayItem> itemizedOverlay, int lineColor) {
mItemizedOverlay = itemizedOverlay;
colorRGB = lineColor;
mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mPaint.setColor(colorRGB);
mPaint.setStrokeWidth(LINE_WIDTH);
}
puis sur le onDraw()
que je fais ceci:
@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
if (mItemizedOverlay.size() == 0 || mItemizedOverlay.size() == 1)
return;
Projection projection = mapView.getProjection();
int i = 0;
while(i < mItemizedOverlay.size() - 1){
OverlayItem begin = mItemizedOverlay.getItem(i);
OverlayItem end = mItemizedOverlay.getItem(i+1);
paintLineBetweenStations(begin,end,projection,canvas);
i++;
}
super.draw(canvas, mapView, shadow);
}
private void paintLineBetweenStations(OverlayItem from, OverlayItem to, Projection projection, Canvas canvas){
GeoPoint bPoint = from.getPoint();
GeoPoint ePoint = to.getPoint();
Point bPixel = projection.toPixels(bPoint, null);
Point ePixel = projection.toPixels(ePoint, null);
canvas.drawLine(bPixel.x, bPixel.y, ePixel.x, ePixel.y, mPaint);
}
Dans votre cas, vous pouvez faire quelque chose de similaire créant une SubtitleOverlay
qui étend Overlay
qui reçoit tous les éléments du constructeur, puis sur la méthode draw
créer un sous-titre dans la bonne position.
J'ai beaucoup vu cet exemple et je peux voir comment cela tracerait une ligne entre les points. Je ne vois pas comment utiliser getTitle et récupérer le nom pour l'écrire et plus important encore au bon moment. –
@Lee Armstrong Dans la méthode draw, vous pouvez appeler: 'mItemizedOverlay.getItem (i) .getTitle()' pour obtenir le titre. La position où dessiner peut être faite avec les informations de '.getPoint()' et 'projection.toPixels'. – Macarse
merci. Je comprends ce que tu veux dire maintenant. Jetez un oeil à cela ... http://www.john-ambler.com/ais/google.html Comment est-ce que je pourrais dessiner ces types de polylignes qui ne sont pas connectés? –