plugin draw-resonators: clear resonators when portal is deselected. changed hooks used to handle things in a more logical way
This commit is contained in:
parent
3806b5143d
commit
1279179407
@ -2,7 +2,7 @@
|
|||||||
// @id iitc-plugin-draw-resonators@xelio
|
// @id iitc-plugin-draw-resonators@xelio
|
||||||
// @name IITC plugin: Draw resonators
|
// @name IITC plugin: Draw resonators
|
||||||
// @category Layer
|
// @category Layer
|
||||||
// @version 0.4.1.@@DATETIMEVERSION@@
|
// @version 0.5.0.@@DATETIMEVERSION@@
|
||||||
// @namespace https://github.com/jonatkins/ingress-intel-total-conversion
|
// @namespace https://github.com/jonatkins/ingress-intel-total-conversion
|
||||||
// @updateURL @@UPDATEURL@@
|
// @updateURL @@UPDATEURL@@
|
||||||
// @downloadURL @@DOWNLOADURL@@
|
// @downloadURL @@DOWNLOADURL@@
|
||||||
@ -24,14 +24,32 @@ window.plugin.drawResonators = function() {};
|
|||||||
|
|
||||||
window.plugin.drawResonators.levelLayerGroup = null;
|
window.plugin.drawResonators.levelLayerGroup = null;
|
||||||
|
|
||||||
window.plugin.drawResonators.handledata = function(data) {
|
window.plugin.drawResonators.portalSelected = function(data) {
|
||||||
window.plugin.drawResonators.levelLayerGroup.clearLayers();
|
// new portal selected - clear any existing resonators..
|
||||||
window.plugin.drawResonators.drawData(data);
|
window.plugin.drawResonators.levelLayerGroup.clearLayers();
|
||||||
|
|
||||||
|
// then, if a portal is selected...
|
||||||
|
if (data.selectedPortalGuid) {
|
||||||
|
// draw it's resonators if we have it's details
|
||||||
|
var details = portalDetail.get(data.selectedPortalGuid);
|
||||||
|
if (details) {
|
||||||
|
window.plugin.drawResonators.drawData(details);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
window.plugin.drawResonators.drawData = function(portal) {
|
window.plugin.drawResonators.portalDetailsLoaded = function(data) {
|
||||||
if(window.map.getZoom() < window.RESONATOR_MIN_ZOOM) return;
|
// the detailed data for a portal was just loaded - if this is the selected portal, draw them
|
||||||
var portalDetails = portal.portalDetails;
|
|
||||||
|
if (data.guid == window.selectedPortal) {
|
||||||
|
window.plugin.drawResonators.levelLayerGroup.clearLayers();
|
||||||
|
window.plugin.drawResonators.drawData(data.details);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
window.plugin.drawResonators.drawData = function(portalDetails) {
|
||||||
|
if(window.map.getZoom() < window.RESONATOR_MIN_ZOOM) return;
|
||||||
|
|
||||||
var portalLatLng = [portalDetails.locationE6.latE6/1E6, portalDetails.locationE6.lngE6/1E6];
|
var portalLatLng = [portalDetails.locationE6.latE6/1E6, portalDetails.locationE6.lngE6/1E6];
|
||||||
for(var i in portalDetails.resonatorArray.resonators) {
|
for(var i in portalDetails.resonatorArray.resonators) {
|
||||||
resoData = portalDetails.resonatorArray.resonators[i];
|
resoData = portalDetails.resonatorArray.resonators[i];
|
||||||
@ -108,7 +126,8 @@ var setup = function() {
|
|||||||
|
|
||||||
window.addLayerGroup('Resonators', window.plugin.drawResonators.levelLayerGroup, true);
|
window.addLayerGroup('Resonators', window.plugin.drawResonators.levelLayerGroup, true);
|
||||||
|
|
||||||
window.addHook('portalDetailsUpdated', window.plugin.drawResonators.handledata);
|
window.addHook('portalSelected', window.plugin.drawResonators.portalSelected);
|
||||||
|
window.addHook('portalDetailsLoaded', window.plugin.drawResonators.portalDetailsLoaded);
|
||||||
|
|
||||||
window.map.on('zoomend', function() {
|
window.map.on('zoomend', function() {
|
||||||
window.plugin.drawResonators.zoomListener();
|
window.plugin.drawResonators.zoomListener();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user