宣传单 - 交互式地图 - 添加活动

时间:2017-03-07 11:56:45

标签: javascript events leaflet

我正在努力解决我的自行车路线示例地图中的两个小问题。

1.我的地图就像这样:

当你将鼠标悬停在路线上时,它会突出显示(这很好)。

当你将鼠标移出路线时,它会消失(这也很好)。

当您点击路线时,它会突出显示并缩放到要素(这很好)。

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

2.有没有办法抵消geojson线?我想把它们放在虚线下面。我尝试在我的风格中设置偏移量,但它不起作用。

这是工作地图的链接

http://mapaszlakow.eu/interactive.html

非常感谢!

1 个答案:

答案 0 :(得分:1)

至于你问题的第一部分,要在地图上点击它之外取消你的路线 - 你可以使用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);

关于codepen的示例:http://codepen.io/dagmara223/pen/LWbpqP

关于第二个问题,你试过Leaflet.PolylineOffset plugin吗?