【问题标题】:Google Maps Distance/Duration Markers & Labels谷歌地图距离/持续时间标记和标签
【发布时间】:2016-03-21 09:21:03
【问题描述】:

在这张 Google 地图的屏幕截图中,您可以看到主要路线和备用路线的行驶时间和距离,以及目的地(Knutsford 高尔夫俱乐部)的文字标签。

我正在使用 Google Maps API 并添加了路线和备用路线,但我无法在文档中找到有关这些距离/持续时间标记和文本标签的任何内容。

它们是否可以以任何合理的方式重新创建,还是仅适用于 Google?

【问题讨论】:

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


    【解决方案1】:

    它们默认由谷歌控制。当您请求路线时,您可以使用supressMarkers 属性删除标记​​p>

    directionsDisplay = new google.maps.DirectionsRenderer(
      {
          suppressMarkers: true
      });
    

    参考:Directions Renderer Options

    路线请求确实提供了转弯导航的所有值。

    另外:你可以自己在地图上添加directionRenderer的所有默认标记,控制你想要的方式。

    directionsService = new google.maps.DirectionsService();
    directionsService.route(request, function (response, status) {
       directionsDisplay = new google.maps.DirectionsRenderer(
      {
          suppressMarkers: true
      });
    

    方向服务的所有步骤都可以在directionsDisplay.directions.routes[0].legs[0].steps 中找到,它提供了信息窗口的内容和标记在地图上显示的位置。

    您将拥有多个routes(如果可用)和多个legs(如果存在航路点)。

    执行console.log(directionsDisplay) 并进一步探索结果对象。

    【讨论】:

    • 我不认为这些是一步一步的指示,它们只是说明每条路线需要多长时间以及替代路线的差异(慢 2 分钟)。我也不确定信息窗口是否非常不同,因为它们非常不同,定位箭头将是一场噩梦。除非我误解了什么。
    • 它们确实包含了旅行的所有步骤。谷歌本身就是根据这个结果显示导航的方向文本
    • 对不起,我的意思是-您所说明的是步骤,但我认为这不是我需要的。在屏幕截图中,这些看起来不像步骤,而是路线时间。我可以将步骤中的所有持续时间加起来,但这并没有让我在地图上看到这些视觉标签。
    • 你得到travel_modedistanceduration都在steps下。基于travel_modetransit,您可以添加自己的自定义信息窗口和标记。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-29
    • 2018-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-28
    相关资源
    最近更新 更多