Google通过给定的lat / lng点映射V3自定义路由

时间:2010-10-27 17:34:21

标签: google-maps-api-3

嘿那里, 我的车上有一个GPS模块,它每隔30秒就可以保存我的位置,然后输出整个行程的那些点。因此,当我开车约5个小时时,它存储了大约600个航路点。现在我想在谷歌地图上展示我的旅行。其中一个方法是生成.kml文件,然后在地图中绘制折线。但由于它每30秒存储一次位置,因此该线路通常是“越野”。谷歌有没有办法在路上画这种方式?由于航点的限制(我认为8),route()函数是无用的。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我今天一直在测试完全相同的事情并得出结论,获取坐标的频率应该是距离覆盖的函数而不是依赖于时间。我将阈值距离保持在10米,并且能够解决大部分路线的实例。

答案 1 :(得分:0)

呃刚刚看到这个问题前一段时间被问过> _>也许它会帮助某人。

如果您有足够的时间可以预处理数据。如果你没有自己的服务器,方法将无效 - 我的想法非常粗略:

var path = [];
var index = 0;
function getRoute() {
    thisRoute = getRoute(yourPoints[index], yourPoints[index+=10]);
    index+=10;
    for(each step in thisRoute)
        path.append(step);
    if (index < yourPoints.length)
        setTimeout(getRoute(), 1000); // or however long it takes for you to be able to get directions again
    else 
        store path in local file which is used later on when you need the full path
}

所以要做到这一点,你需要一些方法来存储路径 - 我会使用我自己的服务器和PHP,或者可能有其他方式,我不知道。当我想显示路径时,我将使用PHP再次检索它,然后使用折线绘制它。 path.append(step)周围有一些例子。我确信有更好的方法可以做到(也许是python而不是JS),但这是我采取的一般方法。