【问题标题】:how to lock a draggable route with google Maps?如何使用谷歌地图锁定可拖动路线?
【发布时间】:2016-02-10 16:11:10
【问题描述】:

我的 web 应用程序上有谷歌地图,使用 JavaScript API V3。我让我的用户能够使用这些功能创建一些路线:

  1. 用户可以创建路线。
  2. 用户可以通过点击地图来添加航点。
  3. 用户可以在地图上拖动标记修改任何航点和标记起点/目的地。
  4. 用户可以保存路线。

问题:

如果用户在不使用任何航点的情况下单击并拖动路线的某些部分,则路线会更改,但我无法保存。因为我保存了标记起点/目的地和航路点。

有什么办法可以锁定路线吗?

  1. Here you can see an example in API documentation

下面我留下一张图,你可以看到用户如何拖动黑白圆圈并改变路线(这是我尝试锁定的)。

【问题讨论】:

  • 我试图在链接上的示例代码中移动圆圈,它可以按预期工作以更改路线。或许您可以多解释一下问题以及锁定的含义?
  • 如果用户使用黑白拖动路线,您应该将其添加为新的航点,然后用户可以删除或移动它进行调整。不允许用户创建那个黑白圆圈正在做的临时视点。
  • 这是问题所在,如果你移动圆圈会改变路线。我不希望用户可以使用圆圈更改路线。我希望用户只使用标记来更改路线。为什么?因为我无法保存路线中的所有点。我只保存标记起点/终点和航点。我希望我解释了

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


【解决方案1】:

您需要利用 direction_changed 事件侦听器和 puckup 路由点,看看哪些是您需要的,哪些是您不需要的。

另一种解决方案是使用不可拖动的路线代码,只允许用户单击并创建一个点。然后当你有超过 1 个点时计算灰尘。允许用户仅拖动标记并更新放置标记上的路线和总距离。

如果您可以创建一个到目前为止所做的事情的 jsfiddle,它将帮助我们调查它并通过工作示例为您提供更准确的答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-10
    • 2011-09-17
    • 1970-01-01
    • 2011-08-07
    • 2016-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多