From c7e94a1a25c4649f966144d9875d57fc5816e81e Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 6 Mar 2013 17:20:19 -0800 Subject: [PATCH] Update player-tracker to spiderfy players when they are close or stacked --- plugins/player-tracker.user.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/plugins/player-tracker.user.js b/plugins/player-tracker.user.js index 0a73ae3d..6c35eeb7 100644 --- a/plugins/player-tracker.user.js +++ b/plugins/player-tracker.user.js @@ -31,6 +31,10 @@ window.plugin.playerTracker.setup = function() { plugin.playerTracker.drawnTraces = new L.LayerGroup(); window.layerChooser.addOverlay(plugin.playerTracker.drawnTraces, 'Player Tracker'); map.addLayer(plugin.playerTracker.drawnTraces); + window.plugin.playerTracker.oms = new OverlappingMarkerSpiderfier(map); + window.plugin.playerTracker.oms.legColors = {'usual': '#FFFF00', 'highlighted': '#FF0000'}; + window.plugin.playerTracker.oms.legWeight = 3.5; + addHook('publicChatDataAvailable', window.plugin.playerTracker.handleData); window.map.on('zoomend', function() { @@ -237,10 +241,11 @@ window.plugin.playerTracker.drawData = function() { // marker itself var icon = playerData.team === 'ALIENS' ? new window.iconEnl() : new window.iconRes(); - var m = L.marker(gllfe(last), {title: title, clickable: false, icon: icon}); + var m = L.marker(gllfe(last), {title: title, icon: icon}); // ensure tooltips are closed, sometimes they linger m.on('mouseout', function() { $(this._icon).tooltip('close'); }); m.addTo(layer); + window.plugin.playerTracker.oms.addMarker(m); // jQueryUI doesn’t automatically notice the new markers window.setupTooltips($(m._icon)); }); @@ -270,6 +275,7 @@ window.plugin.playerTracker.handleData = function(data) { plugin.playerTracker.drawnTraces.eachLayer(function(layer) { if(layer._icon) $(layer._icon).tooltip('destroy'); }); + window.plugin.playerTracker.oms.clearMarkers(); plugin.playerTracker.drawnTraces.clearLayers(); plugin.playerTracker.drawData(); }