Javascript 单张-互动地图-添加活动

Javascript 单张-互动地图-添加活动,javascript,events,leaflet,Javascript,Events,Leaflet,我的自行车路线地图示例遇到了两个小问题 1.目前我的地图是这样工作的: 当您将鼠标悬停在route上时,它会高亮显示(这很好) 当您将鼠标移出route时,它会亮起(这也很好) 单击管线时,它会高亮显示并缩放到特征(这很好) 这里有一个问题:当你点击地图上的任何地方(不是路线)时,路线应该会变亮,所以它看起来像默认视图,没有任何高亮显示,但不会发生。 我怎样才能做到这一点?我尝试了map.on事件,但我不确定在代码中放在哪里 2.是否有任何方法来偏移geojson行?我想把它们放在虚线下面。我尝

我的自行车路线地图示例遇到了两个小问题

1.目前我的地图是这样工作的:

当您将鼠标悬停在route上时,它会高亮显示(这很好)

当您将鼠标移出route时,它会亮起(这也很好)

单击管线时,它会高亮显示并缩放到特征(这很好)

这里有一个问题:当你点击地图上的任何地方(不是路线)时,路线应该会变亮,所以它看起来像默认视图,没有任何高亮显示,但不会发生。 我怎样才能做到这一点?我尝试了map.on事件,但我不确定在代码中放在哪里

2.是否有任何方法来偏移geojson行?我想把它们放在虚线下面。我尝试在我的样式中设置偏移量,但不起作用

这里有一个指向工作地图的链接


多谢各位

至于问题的第一部分,要在地图上单击路线外侧时取消路线的高亮显示,您可以使用
map.on(…)
geojson函数:

var geojson = L.geoJson(szlaki, {
  onEachFeature: function(feature, layer) {
    layer.on({
      ...
      }
    }); 

    map.on({
      'click': function(e) {
        geojson.resetStyle(layer);
        info.update();
        selected = null;
      }
    });

  }
}).addTo(map);
代码笔示例:



关于第二个问题,你试过了吗

这样做的工作,但我如何也隐藏信息框与路线名称?出现在右上角的那个?我会调查一下偏移量插件,谢谢@Voyteck我在这里用代码笔编辑了我的答案。要重置信息框,我添加了
info.update()
map.on()函数中。波兹德罗维尼亚;)还有一个小错误,我会尽力解释。当您单击某条路线使其高亮显示时,然后单击地图使其取消高亮显示,然后将鼠标悬停在同一条路线上,该路线将永久高亮显示。它应该只在鼠标悬停时突出显示。我希望你能理解我:)对不起打扰你了,你能帮我解决这个小问题吗?:)当然我可以尝试帮助:)我更新了代码笔并回答了上面的问题,请测试一下。我添加了
selected=null嘿,如果这个问题已经结束,并且我的回答很有帮助,请标记为已接受;)