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

  • Jay Will

    Jay Will

    19 NİSAN 2006
  • Marina and The Diamonds

    Marina and T

    8 Temmuz 2008
  • Kanál používateľa McsFuego

    Kanál použ

    12 EKİM 2011