android - 如何在 OSM(打开 map 街道)的 Android Studio 中画一条线(折线)?

标签 android openstreetmap osmdroid

我想在 OSM 中的两点之间画一条线,但我找不到任何可以帮助我的东西。像 googlemap 中的 Polyline 之类的东西。

public class MainActivity extends Activity  {
    private MapView         mMapView;
    private MapController   mMapController;
    public TextView textView;
    public String longitude;
    public String latitude;
    public Drawable marker;
    private ItemizedIconOverlay<OverlayItem> anotherItemizedIconOverlay;
    ArrayList<OverlayItem> overlayItemArray;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.osm_main);
        mMapView = (MapView) findViewById(mapview);
        textView = (TextView) findViewById(R.id.textView);

        mMapView.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE);
        mMapView.setBuiltInZoomControls(true);
        mMapController = (MapController) mMapView.getController();
        mMapController.setZoom(16);
        Double latE6 = (52.507621 )* 1E6;
        Double lngE6 = (13.407334 )* 1E6;
        GeoPoint gPt = new GeoPoint(latE6.intValue(), lngE6.intValue());
        mMapController.setCenter(gPt);
}
}

最佳答案

好吧...只需使用 osmdroid Polyline。

    GeoPoint gPt0 = new GeoPoint(52.507621d, 13.407334d);
    GeoPoint gPt1 = new GeoPoint(52.527621d, 13.427334d);
    Polyline line = new Polyline(this);
    line .addPoint(gPt0);
    line .addPoint(gPt1);
    mMapView.getOverlays().add(line);

关于android - 如何在 OSM(打开 map 街道)的 Android Studio 中画一条线(折线)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51068005/

相关文章:

android - 在 Retrofit 并行网络调用中处理后台刷新 token 调用

java - 如何从 OSM Tiles 在 Java 应用程序中创建 map ?

android - 简单的 osmdroid 应用程序不起作用

android - Kotlin 对委托(delegate)属性的注解

javascript - 在安卓手机上,当访问市场 ://download url , 得到 "Unable to load the webpage"

android - 切换按钮字体颜色和 drawableft 选择器

openstreetmap - 如何获取 Nominatim 中的所有地名翻译?

xml - OSM - 提取街道名称、纬度/经度和城市

android - 缩小时 OSMDroid 崩溃

android - 启用指南针 OSMDROID