【问题标题】:Google maps v3 driving directions with a clickable route / infowindow带有可点击路线/信息窗口的 Google 地图 v3 行车路线
【发布时间】:2011-04-07 17:05:02
【问题描述】:

我正在使用 v3 api 在谷歌地图上绘制行车路线。

我想添加一个监听器,这样如果有人点击路线的任何一点,我就可以打开一个信息窗口。

我可以用折线做到这一点:

google.maps.event.addListener(mapEntry, 'click', function (e) {
    infowindow.position = e.latLng;
    infowindow.open(map);
});

我已尝试将点击事件附加到路线响应中的以下项目:

response.route[0].overview_path
response.route[0].overview_polyline
response.route[0].overview_polyline.points

但没有运气。甚至无法点击点击事件。有什么想法吗?

【问题讨论】:

  • 这将有助于一些更多的代码。你是如何尝试添加点击事件的?只需创建一个新的 google.maps.Polyline?
  • 不,这是方向响应。我刚刚添加了一个示例,说明将单击侦听器附加到折线是多么简单,方向响应应该模仿……但似乎没有。
  • 好的,但是您不能使用响应中的数据创建一个新的折线并将点击事件添加到其中吗?不是一个很好的解决方案,但也许值得一试。

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


【解决方案1】:

您是否尝试过以下解决方案?是谷歌地图的触发功能,或许能帮到你..

google.maps.event.trigger(mapEntry, 'click', function(){
//do other things
});

【讨论】:

    【解决方案2】:

    你可以试试这个,它对我有用 拨打modirectionsDisplay.setDirections(response);后 打电话

       setTimeout(function () {
           try {
               modirectionsDisplay.j.polylines.forEach(function (polyline) {
                    //attach event listener
                });
           } catch (e) {
               alert(e);
           }
       }, 200);
    

    这不是最好的开发方法,但它确实有效。此外,您必须禁用 DirectionsRenderer 中的可拖动选项。

    【讨论】:

      猜你喜欢
      • 2012-07-29
      • 1970-01-01
      • 1970-01-01
      • 2013-10-31
      • 1970-01-01
      • 1970-01-01
      • 2011-05-03
      • 1970-01-01
      • 2011-07-18
      相关资源
      最近更新 更多