Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用Osmdroid库在两个坐标之间绘制曲线_Android_Openstreetmap_Osmdroid_Polyline_Osmbonuspack - Fatal编程技术网

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

Android 如何使用Osmdroid库在两个坐标之间绘制曲线,android,openstreetmap,osmdroid,polyline,osmbonuspack,Android,Openstreetmap,Osmdroid,Polyline,Osmbonuspack,我发现GoogleMap提供了多段线选项,但我还没有找到Osmdroid的任何内容 如果有人能举出一个例子来提出解决方案,那将是非常有帮助的 您可能无法绘制真正的曲线,但您应该能够创建一条看起来是曲线的多段线。多段线由非曲线的直线段组成 您所指的Google Map API似乎也只支持没有曲线的多段线。看 多段线是一系列连接的线段,可以形成所需的任何形状,并可用于在地图上标记路径和管线 Osmdroid库支持多段线和多边形。详情请参阅 您可以轻松创建: List geoPoints=new Ar

我发现GoogleMap提供了多段线选项,但我还没有找到Osmdroid的任何内容


如果有人能举出一个例子来提出解决方案,那将是非常有帮助的

您可能无法绘制真正的曲线,但您应该能够创建一条看起来是曲线的多段线。多段线由非曲线的直线段组成

您所指的Google Map API似乎也只支持没有曲线的多段线。看

多段线是一系列连接的线段,可以形成所需的任何形状,并可用于在地图上标记路径和管线

Osmdroid库支持多段线和多边形。详情请参阅

您可以轻松创建:

List geoPoints=new ArrayList();
地理点。添加(开始);
//... 添加应形成曲线的其他点
地理点。添加(结束);
//在这里添加您的观点
多段线=新的多段线()//见下面的注释!
线路设置点(地质点);
map.getOverlyManager().add(行);

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

请提及您正在使用的作品/图书馆。是osmdroid吗?谢谢你的回答,我正在使用“com.github.MKergall:osmbonuspack:6.5.3”库。谢谢你的回答,但是如何计算应该在两个坐标(源和目标)之间形成曲线的其他点。@DheerajKumarSingh我想这将取决于曲线应该代表什么。你的问题中没有具体说明。我们使用哪种算法。请推荐任何链接。@dheerajkumarsing您应该能够使用osmdroid库获得类似的结果。第一个结果来自这个问题,你可以看到他们也只使用多段线,基本上添加了很多点,所以它看起来是一条漂亮的曲线。您还可以从bazier曲线中看到算法。
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);