Fix some bugs regarding OMS by introducing a new helper function
This commit is contained in:
parent
d3fca8612c
commit
042129095b
16
code/oms.js
16
code/oms.js
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -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 doesn’t 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();
|
||||
|
Loading…
x
Reference in New Issue
Block a user