2013-01-24 12 views
0

Comment puis-je tracer des lignes entre différentes coordonnées GPS pour les relier toutes ensemble?Tracez une ligne entre plusieurs coordonnées GPS

Je devrais mentionner que ce n'est pas un itinéraire. J'utilise la vue satellite et la ligne peut passer par-dessus une maison par exemple.

Répondre

0

Si ce n'est que deux coordonnées que de dessiner une simple toile sur la carte et tracer une ligne droite entre ces coordonnées, ce serait une simple ligne et il pourrait être n'importe où, même au-dessus d'une maison.

ci-dessous Code échantillon a été prélevé Drawing a line/path on Google Maps

/** Called when the activity is first created. */ 
private List<Overlay> mapOverlays; 

private Projection projection; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 

linearLayout = (LinearLayout) findViewById(R.id.zoomview); 
mapView = (MapView) findViewById(R.id.mapview); 
mapView.setBuiltInZoomControls(true); 

mapOverlays = mapView.getOverlays();   
projection = mapView.getProjection(); 
mapOverlays.add(new MyOverlay());   

} 

@Override 
protected boolean isRouteDisplayed() { 
return false; 
} 

class MyOverlay extends Overlay{ 

public MyOverlay(){ 

} 

public void draw(Canvas canvas, MapView mapv, boolean shadow){ 
    super.draw(canvas, mapv, shadow); 

    Paint mPaint = new Paint(); 
    mPaint.setDither(true); 
    mPaint.setColor(Color.RED); 
    mPaint.setStyle(Paint.Style.FILL_AND_STROKE); 
    mPaint.setStrokeJoin(Paint.Join.ROUND); 
    mPaint.setStrokeCap(Paint.Cap.ROUND); 
    mPaint.setStrokeWidth(2); 

    GeoPoint gP1 = new GeoPoint(19240000,-99120000); 
    GeoPoint gP2 = new GeoPoint(37423157, -122085008); 

    Point p1 = new Point(); 
    Point p2 = new Point(); 
    Path path = new Path(); 

    projection.toPixels(gP1, p1); 
    projection.toPixels(gP2, p2); 

    path.moveTo(p2.x, p2.y); 
    path.lineTo(p1.x,p1.y); 

    canvas.drawPath(path, mPaint); 
} 
+0

Malheureusement, il n'est pas 2 coordonnées .. plus que cela .. 30 peut-être – Blubar

+0

un coup d'oeil à l'exemple de code que j'ai ajouté –

+0

Savez-vous comment puis-je définir un bouton pour cela? quand j'appuie sur ce bouton, il montre celui-ci? – Blubar