Fix some bugs regarding OMS by introducing a new helper function

This commit is contained in:
fkloft 2014-06-10 20:52:20 +02:00
parent d3fca8612c
commit 042129095b
4 changed files with 20 additions and 20 deletions

View File

@ -21,5 +21,21 @@ window.setupOMS = function() {
window.oms.addListener('spiderfy', function(markers) {
map.closePopup();
});
map._container.addEventListener("keypress", function(ev) {
if(ev.keyCode === 27) // Esc
window.oms.unspiderfy();
}, false);
}
window.registerMarkerForOMS = function(marker) {
marker.on('add', function () {
window.oms.addMarker(marker);
});
marker.on('remove', function () {
window.oms.removeMarker(marker);
});
if(marker._map) // marker has already been added
window.oms.addMarker(marker);
}

View File

@ -1018,8 +1018,7 @@
iconSize: [30,40]
})
});
window.oms.addMarker(star);
star.on('remove', function() { window.oms.removeMarker(star); });
window.registerMarkerForOMS(star);
star.on('spiderfiedclick', function() { renderPortalDetails(guid); });
window.plugin.bookmarks.starLayers[guid] = star;

View File

@ -258,10 +258,7 @@ window.plugin.drawTools.import = function(data) {
var extraMarkerOpt = {};
if (item.color) extraMarkerOpt.icon = window.plugin.drawTools.getMarkerIcon(item.color);
layer = L.marker(item.latLng, L.extend({},window.plugin.drawTools.markerOptions,extraMarkerOpt));
window.oms.addMarker(layer);
layer.on('remove', function() {
window.oms.removeMarker(layer);
});
window.registerMarkerForOMS(layer);
break;
default:
console.warn('unknown layer type "'+item.type+'" when loading draw tools layer');
@ -431,10 +428,7 @@ window.plugin.drawTools.boot = function() {
window.plugin.drawTools.save();
if(layer instanceof L.Marker) {
window.oms.addMarker(layer);
layer.on('remove', function() {
window.oms.removeMarker(layer);
});
window.registerMarkerForOMS(layer);
}
});

View File

@ -373,7 +373,7 @@ window.plugin.playerTracker.drawData = function() {
}
m.addTo(playerData.team === 'RESISTANCE' ? plugin.playerTracker.drawnTracesRes : plugin.playerTracker.drawnTracesEnl);
window.oms.addMarker(m);
window.registerMarkerForOMS(m);
// jQueryUI doesnt automatically notice the new markers
if (!isTouchDev) {
@ -421,15 +421,6 @@ window.plugin.playerTracker.handleData = function(data) {
plugin.playerTracker.processNewData(data);
if (!window.isTouchDevice()) plugin.playerTracker.closeIconTooltips();
plugin.playerTracker.drawnTracesEnl.eachLayer(function(feature) {
if(feature instanceof L.Marker)
window.oms.removeMarker(feature);
});
plugin.playerTracker.drawnTracesRes.eachLayer(function(feature) {
if(feature instanceof L.Marker)
window.oms.removeMarker(feature);
});
plugin.playerTracker.drawnTracesEnl.clearLayers();
plugin.playerTracker.drawnTracesRes.clearLayers();
plugin.playerTracker.drawData();