Bir çizgi/yol Google Maps | Netgez.com
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

  • AmeriiK_HD

    AmeriiK_HD

    16 AÄžUSTOS 2012
  • Rozetked | Обзоры

    Rozetked | Ð

    5 AÄžUSTOS 2011
  • YouChewBu

    YouChewBu

    26 Ocak 2009