相关疑难解决方法(0)

如何沿现有道路在两点之间绘制路线?

我想在我的Android应用程序中显示两个位置之间的行车路线.我想在路段之上绘制路线.

堆栈溢出本身有几个答案,所有这些都使用相同的方法.使用Google Directions API获取从起点到目的地的路线,并在返回的点上绘制折线.以下是使用此方法的一些答案.

/sf/answers/1190515231/

/sf/answers/2839475131/

但是,上述方法的问题是,当道路不直时,黎明死记硬背并不总是在道路上,因为方向API只返回您需要从一条道路转向另一条道路的点(在交叉点处).它没有在同一道路段的弯道中给出点数细节.因此,当我在道路有很多弯道的区域使用上述方法时,几乎总是绘制的路线不在路段之上.

我找到了这个答案,它使用javascript API做我需要做的事情.在这个解决方案中,绘制的路线很好地遵循道路,类似于谷歌地图Android应用程序.有人知道这是否可以在Android应用程序中实现?

谷歌地图Android应用程序可以很好地绘制从一个点到另一个点的路线,保持路线在道路上.有谁知道谷歌地图是如何做到这一点的?它是否使用任何其他未公开的API?

android google-maps google-maps-android-api-2

17
推荐指数
2
解决办法
4万
查看次数

如何绘制优步折线?

优步应用程序有一条弯曲的折线,甚至还包括一个阴影.阴影可能只是一个黑色,透明折线连接两个点.这很容易.但第二条折线有曲线,如何实现呢?这是Bezier曲线,还是像setGeodesic(true)这样的内置函数?

在此输入图像描述

我查看了谷歌地图示例,我看到了有关圆形折线的部分.这可以适应创建半圆吗?来自demo的代码片段.

PolylineOptions options = new PolylineOptions();
int radius = 5; //What is that?
int numPoints = 100;
double phase = 2 * Math.PI / numPoints;
for (int i = 0; i <= numPoints; i++) {
    options.add(new LatLng(SYDNEY.latitude + radius * Math.sin(i * phase),
            SYDNEY.longitude + radius * Math.cos(i * phase)));
}
int color = Color.RED;
mMap.addPolyline(options
        .color(color)
        .width(2));
Run Code Online (Sandbox Code Playgroud)

android google-maps polyline

2
推荐指数
1
解决办法
2325
查看次数