如何在Map View画线给定坐标?

时间:2009-12-20 23:33:55

标签: android android-mapview

如何在MapView给定坐标上画线?

AFAIK,在iPhone上是可能的。

请指教。

提前致谢。

2 个答案:

答案 0 :(得分:21)

要使用MapView,您的Activity必须延长MapActivity

对于您想要绘制的每一行(或其他任何内容),您需要继承Overlay并使用Overlay的{​​{1}}方法进行绘制。创建onDraw()后,OverlayMapView添加到mMapView.getOverlays().add(new MyOverlay());

在您的自定义Overlay中,您需要获得Projection p = mapView.getProjection();之类的内容Projection。从Projection,您可以使用{{1}}的{​​{3}}方法将GPS坐标转换为屏幕坐标,然后使用常规Android 2D绘图方法绘制到传入的Projection。< / p>

这是基础......如果你还需要其他东西,请问。

答案 1 :(得分:0)

您可以使用此代码,示例坐标及其用法。

    //...setting map and starting 

    ArrayList<LatLng> list = new ArrayList<>();
    list.add(new LatLng(41.020244, 29.045663));
    list.add(new LatLng(41.019904, 29.045448));
    list.add(new LatLng(41.019451, 29.044397));
    list.add(new LatLng(41.019710, 29.043474));


    PolylineOptions options = new PolylineOptions().width(5).color(Color.BLUE).geodesic(true);
    for (int z = 0; z < list.size(); z++) {
        LatLng point = list.get(z);
        options.add(point);
    }
    mGoogleMap.addPolyline(options);

    CameraPosition cameraPosition;
    cameraPosition = new CameraPosition.Builder().target(new LatLng(41.020811, 29.046113)).zoom(15).build();

    mGoogleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
相关问题