如何在Android中使用OSMDROID折线

时间:2018-09-29 10:45:50

标签: android android-studio maps osmdroid

GeoPoint startPoint = new GeoPoint(104.9274702345929, -78.8899208239701);
GeoPoint endPoint = new GeoPoint(102.946749865264,-78.8935274008143);

RoadManager roadManager = new OSRMRoadManager();
ArrayList<GeoPoint> waypoints = new ArrayList<GeoPoint>();
waypoints.add(startPoint);
waypoints.add(endPoint);

Road road = roadManager.getRoad(waypoints);
Polyline roadOverlay = RoadManager.buildRoadOverlay(road, this);
map.getOverlays().add(roadOverlay);
map.invalidate();

我无法在mapView中绘制折线,运行此代码时遇到问题,我在折线代码行中看到错误, 像这样: 不兼容的类型。 需要: org.osmdroid.views.overlay.Polyline 发现: org.osmdroid.views.overlay.PathOverla

1 个答案:

答案 0 :(得分:0)

您使用的是osmbonuspack库的旧版本。

方法RoadManager.buildRoadOverlay(road, this)的返回类型为PathOverlay,直到版本〜4.3,但由于此后它返回Polyline。当前版本是(在撰写本文时)6.5.2,因此您以某种方式包括了相当陈旧的版本。

请遵循本指南以使用最新版本:https://github.com/MKergall/osmbonuspack/wiki/HowToInclude