如何使用Osmdroid库在两个坐标之间绘制曲线

时间:2019-02-03 11:03:45

标签: android openstreetmap osmdroid polyline osmbonuspack

我发现Google地图提供了PolylineOptions,但我找不到Osmdroid的任何内容。

如果有人可以提出带有示例的解决方案,那将非常有帮助。

1 个答案:

答案 0 :(得分:0)

您可能无法绘制真实的曲线,但是您应该能够创建看起来是弯曲的折线。折线由不弯曲的直线段组成。

似乎您所指的Google Map API也仅支持不带曲线的折线。参见Google Map documentation

  

折线是一系列相互连接的线段,可以形成您想要的任何形状,并可以在地图上标记路径和路线。

Osmdroid库支持折线和多边形。可以在the Osmdroid documentation中找到详细信息。

您可以轻松创建Polyline

List<GeoPoint> geoPoints = new ArrayList<>();
geoPoints.add(start);
//... add other points that should form the curve
geoPoints.add(end);

//add your points here
Polyline line = new Polyline();   //see note below!
line.setPoints(geoPoints);
map.getOverlayManager().add(line);

棘手的部分是计算两个已知坐标之间的点。