osmdroid - 在地图上添加一个区域

时间:2013-12-18 10:55:54

标签: android map coordinates openstreetmap area

我想在Android应用程序的osmdroid地图中显示摩洛哥的旅游区。

首先,我一直在网上搜索获取可以定义区域(如数组或json)的坐标列表(经度和纬度)的方法,但没有运气。地图上只有一个点有解决方案。

其次,使用这些坐标,我如何在osmdroid上显示一个区域?感谢。

1 个答案:

答案 0 :(得分:2)

首先,我强烈建议您通过Google Play服务使用Google Maps Api V2。这将更容易。你没有使用它的任何理由?

其次,要在地图上绘制多边形,请执行类似

的操作
private void AddPolygon() {
    int diff=1000;

    GeoPoint pt1=new GeoPoint(13.002798, 77.580000);
    GeoPoint pt2= new GeoPoint(pt1.getLatitudeE6()+diff, pt1.getLongitudeE6());
    GeoPoint pt3= new GeoPoint(pt1.getLatitudeE6()+diff, pt1.getLongitudeE6()+diff);
    GeoPoint pt4= new GeoPoint(pt1.getLatitudeE6(), pt1.getLongitudeE6()+diff);
    GeoPoint pt5= new GeoPoint(pt1);


    PathOverlay myOverlay= new PathOverlay(Color.RED, this);
    myOverlay.getPaint().setStyle(Paint.Style.FILL);

    myOverlay.addPoint(pt1);
    myOverlay.addPoint(pt2);
    myOverlay.addPoint(pt3);
    myOverlay.addPoint(pt4);
    myOverlay.addPoint(pt5);

    map.getOverlays().add(myOverlay);
}