android - osmdroid - 在 map 上添加一个区域

标签 android dictionary coordinates openstreetmap area

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

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

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

最佳答案

首先,我强烈建议您通过 Google Play 服务使用 Google Maps Api V2。这会更容易工作。您有什么理由不使用这个?

其次,要在 map 上绘制多边形,请执行以下操作

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);
}

关于android - osmdroid - 在 map 上添加一个区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20656199/

相关文章:

xcode - 无法到达数组->字典->集合

matlab - 如何在 MATLAB 图形中的最小点上放置标记?

matlab - 从 Matlab 轮廓函数中选择等值线

android - 选定选项卡下划线的 TabLayout 颜色

java - 如何更改 SearchView 下方底线的颜色

python - 为什么 "in"适用于键而不适用于字符串?

Swift 将字典值转换为类型

javascript - 如何在两个 y 坐标之间缓和?

java - findViewById 使用 OnClickListener 接口(interface)的 OnClick 方法的参数返回 null

android - 在 Android GridView 中实现多选