SORU
1 ŞUBAT 2010, PAZARTESİ


Bir çizgi/yol Google Maps

Uzun bir süre iki (GPS) HelloMapView harita üzerinde puan ama şans ile arasında bir çizgi çizmek için nasıl bulmak için meşguldüm.

Herkes bunu yapmak için nasıl söyler.

MapView uzanan HelloMapView kullanıyorum sanırım. Bindirmeleri kullanmam gerekiyor? Eğer öyleyse onDraw geçersiz kılmak zorunda mıyım() bindirme yöntemi ve bir çizgi çizmek ister? Ben aslında ama neden bunları denedim.

Şimdiden teşekkürler!

CEVAP
2 ŞUBAT 2010, Salı


Yardımlarınız için teşekkür ederim. Sonunda haritada bir çizgi çizebilirim. Bunu ben yaptım nasıl:

/** 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 projection=mapv.getProjection();
        projection.toPixels(gP1, p1);
        projection.toPixels(gP2, p2);

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

        canvas.drawPath(path, mPaint);
    }

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bokeh

    Bokeh

    9 HAZİRAN 2014
  • Eddie Bravo

    Eddie Bravo

    17 EKİM 2006
  • Pál Zoltán Illés

    Pál Zoltán

    30 NİSAN 2007