【问题标题】:How do I link to google maps print directions using Html5 geolocation?如何使用 Html5 地理位置链接到谷歌地图打印方向?
【发布时间】:2013-04-29 16:47:25
【问题描述】:

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

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

谢谢。

【问题讨论】:

    标签: javascript google-maps google-maps-api-3


    【解决方案1】:

    相关的谷歌地图网址参数是:

    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
    

    【讨论】:

    • 嗨乔,感谢您的回答!这是我到目前为止得到的 jQuery('#walking').append('maps.google.com/maps?saddr=' + leg.start_location + '&daddr=' + leg.end_location + '&pw=2&dirflg=w" /> ');但我不确定是不是最好的方法......
    • 中间多了一个分号。至于如何实际提出方向,我建议不要附加一个链接,您使用window.location 在单击按钮时重定向用户(或者如果您需要新的选项卡/窗口功能,请尝试@987654322 @)
    【解决方案2】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-13
      • 1970-01-01
      • 1970-01-01
      • 2017-01-03
      • 1970-01-01
      相关资源
      最近更新 更多