1

我目前正在开发一个使用 html5 地理位置来获取用户位置并在地图上显示路线的网站,到目前为止一切顺利。但现在,我想要三个按钮(步行、驾驶、交通),它们将链接到谷歌地图打印方向(即https://maps.google.com/maps?saddr=San+Francisco&daddr=Los+Angeles&z =7&pw=2 ) 取决于用户的位置和交通工具的种类。

关于如何实现这一点的任何想法?

谢谢。

4

2 回答 2

1

相关的谷歌地图 url 参数是:

saddr
    source address
    any urlencoded address, or a lat/lng pair formatted as
       58+41.881N+152+31.324W

daddr
    destination address (same as saddr)

dirflg
    transportation directions type flag
    (character, optional)
        'r' = public transit
        'w' = walking
        'b' = bike
        defaults to car if omitted
于 2013-05-05T23:40:38.690 回答
0

好的,这是快速的高级解决方案:

  1. 使用 geolocation api 获取成功回调的用户位置。
  2. 在将用户坐标作为地图中心时,使用 gmaps api 创建一个新的谷歌地图。如果这是一个移动类型的网络应用程序,我建议您使用返回的精度半径值并绘制圆......就像 iphone 地图应用程序一样。
  3. 谷歌提供了一个 api 调用,或者您可以创建自己的调用来从用户 latlng、目的地、旅行方式等获取路线。
  4. 一旦回调触发,重新绑定地图以允许用户看到那里的位置和目的地。
  5. 方向对象也将返回与路线和航段有关的各种数据......决定您要显示多少并重绘地图。

请注意,当您调用 api 以获取路线时,您可以指定要使用的出行模式类型以及其他一些内容。

此外,您应该设置一种方法来跟踪用户的地理位置并根据返回的数据更新地图中心,以便用户可以跟踪他们的移动。我用 setTimeOut 完成了它,然后将标记动画到新位置(不确定 setTimeout 是否是最干净的解决方案)。

带有地理定位功能的 Google Maps API 很有趣!

于 2013-05-05T23:55:49.960 回答