【问题标题】:Google maps V3 custom route via given lat/lng pointsGoogle 通过给定的 lat/lng 点映射 V3 自定义路线
【发布时间】:2013-03-06 12:37:17
【问题描述】:

你好, 我的车里有一个 GPS 模块,它每 30 秒保存一次我的位置,然后导出整个行程的这些点。所以当我开车大约 5 个小时时,它存储了大约 600 个航点。现在我想在谷歌地图上显示我的旅行。其中一种解决方案是生成一个 .kml 文件,然后在地图内绘制一条折线。但是因为它每 30 秒存储一次位置,所以这条线经常是“越野”的。谷歌有没有办法在路上准确地画出这种方式?由于航路点的限制(我认为是 8 个), route() 函数没用。

有什么想法吗?

【问题讨论】:

    标签: google-maps-api-3


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      呃刚刚看到这个问题是前段时间提出的>_>无论如何它可能会对某人有所帮助。

      如果您有足够的时间,您可以对数据进行预处理。如果您没有自己的服务器,方法将不起作用 - 我的想法非常粗略:

      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),但这是我会采取的一般方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多