From 63e7be0cc23329f13690e18a80ec1adb5bd13011 Mon Sep 17 00:00:00 2001 From: McBen Date: Fri, 13 Jun 2014 22:04:25 +0200 Subject: [PATCH] cross-links: fixed create hook --- plugins/cross_link.user.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/plugins/cross_link.user.js b/plugins/cross_link.user.js index 1acf6d56..04192dd9 100644 --- a/plugins/cross_link.user.js +++ b/plugins/cross_link.user.js @@ -218,6 +218,25 @@ window.plugin.crossLinks.onMapDataRefreshEnd = function () { window.plugin.crossLinks.testForDeletedLinks(); } +window.plugin.crossLinks.testAllLinksAgainstLayer = function (layer) { + if (window.plugin.crossLinks.disabled) return; + + $.each(window.links, function(guid, link) { + if (!plugin.crossLinks.linkLayerGuids[link.options.guid]) + { + if (layer instanceof L.GeodesicPolygon) { + if (plugin.crossLinks.testPolyLine(layer, link,true)) { + plugin.crossLinks.showLink(link); + } + } else if (layer instanceof L.GeodesicPolyline) { + if (plugin.crossLinks.testPolyLine(layer, link)) { + plugin.crossLinks.showLink(link); + } + } + } + }); +} + window.plugin.crossLinks.testForDeletedLinks = function () { window.plugin.crossLinks.linkLayer.eachLayer( function(layer) { var guid = layer.options.guid; @@ -257,7 +276,7 @@ var setup = function() { window.plugin.crossLinks.createLayer(); // events - map.on('draw:created', function(e) {window.plugin.crossLinks.checkAllLinks(); }); + map.on('draw:created', function(e) { window.plugin.crossLinks.testAllLinksAgainstLayer(e.layer);}); map.on('draw:deleted', function(e) {window.plugin.crossLinks.checkAllLinks(); }); map.on('draw:edited', function(e) {window.plugin.crossLinks.checkAllLinks();});