diff --git a/inner/js/model/MMLayer.js b/inner/js/model/MMLayer.js index 03ae323..8c4afd5 100644 --- a/inner/js/model/MMLayer.js +++ b/inner/js/model/MMLayer.js @@ -2,6 +2,11 @@ if (!window.mobmap) { window.mobmap={}; } (function(aGlobal) { 'use strict'; + var gLayerNextId = 1; + aGlobal.mobmap.layerGetNextId = function() { + var i = gLayerNextId++; + return i; + }; var LayerEvent = { LoadWillStart: 'mm-layer-model-event-load-will-start', @@ -12,14 +17,16 @@ if (!window.mobmap) { window.mobmap={}; } }; var LayerCapability = { - MarkerRenderable: 0x01 + MarkerRenderable: 0x01, + SpatialSelectable: 0x10 }; function MovingObjectLayer() { + this.layerId = mobmap.layerGetNextId(); this.jElement = $(document.createElement('span')); this.ownerList = null; this.primaryView = null; - this.capabilities = LayerCapability.MarkerRenderable; + this.capabilities = LayerCapability.MarkerRenderable | LayerCapability.SpatialSelectable; this.dataTimeRange = { start: 0, end: 0 diff --git a/inner/js/model/MMMeshLayer.js b/inner/js/model/MMMeshLayer.js index 3925967..208e5b5 100644 --- a/inner/js/model/MMMeshLayer.js +++ b/inner/js/model/MMMeshLayer.js @@ -4,6 +4,7 @@ if (!window.mobmap) { window.mobmap={}; } 'use strict'; function MMMeshLayer() { + this.layerId = mobmap.layerGetNextId(); this.jElement = $(document.createElement('span')); this.ownerList = null; this.primaryView = null; diff --git a/inner/js/model/MMProject.js b/inner/js/model/MMProject.js index b513f4a..aebba54 100644 --- a/inner/js/model/MMProject.js +++ b/inner/js/model/MMProject.js @@ -14,6 +14,10 @@ if (!window.mobmap) { window.mobmap={}; } eventDispatcher: function() { return this.jElement; }, + + getLayerList: function() { + return this.layerList; + }, addMovingObjectLayer: function() { var lyr = new mobmap.MovingObjectLayer(); diff --git a/inner/js/selection/selection-session.js b/inner/js/selection/selection-session.js index 673ff2f..4d653d3 100644 --- a/inner/js/selection/selection-session.js +++ b/inner/js/selection/selection-session.js @@ -33,7 +33,15 @@ if (!window.mobmap) { window.mobmap={}; } }, makeIDCollection: function(targetProject) { + var ls = targetProject.getLayerList(); + var len = ls.getCount(); + for (var i = 0;i < len;++i) { + var lyr = ls.getLayerAt(i); + if (lyr.capabilities & mobmap.LayerCapability.SpatialSelectable) { + console.log("layer selection"); + } + } }, // - - - - - - - - - -