@@ -25,6 +25,7 @@ define('Core/Commander/Interfaces/ApiInterface/ApiGlobe', [
2525
2626 var loaded = false ;
2727 var eventLoaded = new Event ( 'globe-loaded' ) ;
28+ var eventLayerRemoved = new Event ( 'Layer-removed' ) ;
2829
2930 function ApiGlobe ( ) {
3031 //Constructor
@@ -69,32 +70,58 @@ define('Core/Commander/Interfaces/ApiInterface/ApiGlobe', [
6970
7071 } ;
7172
73+ ApiGlobe . prototype . getWMTSProvider = function ( )
74+ {
75+ return this . scene . managerCommand . getProvider ( this . scene . getMap ( ) . tiles ) . providerWMTS ;
76+ } ;
77+
7278 /**
7379 * Adds an imagery layer to the map. The layer id must be unique amongst all layers already inserted. The protocol rules which parameters are then needed for the function.
7480 * @constructor
7581 * @param {Layer } layer.
7682 */
77-
7883 ApiGlobe . prototype . addImageryLayer = function ( layer ) {
7984
8085 var map = this . scene . getMap ( ) ;
8186 var manager = this . scene . managerCommand ;
82- var providerWMTS = manager . getProvider ( map . tiles ) . providerWMTS ;
87+ var providerWMTS = this . getWMTSProvider ( ) ;
8388
8489 providerWMTS . addLayer ( layer ) ;
8590 manager . addLayer ( map . colorTerrain , providerWMTS ) ;
86- map . colorTerrain . services . push ( layer . id ) ;
91+ map . addColorLayer ( layer . id )
92+
93+ } ;
94+
95+ ApiGlobe . prototype . moveLayerUp = function ( layer ) {
8796
88- var subLayer = new Layer ( ) ;
97+ this . scene . getMap ( ) . moveLayerUp ( layer ) ;
98+ this . scene . renderScene3D ( ) ;
99+ } ;
100+
101+ ApiGlobe . prototype . moveLayerDown = function ( layer ) {
102+
103+ this . scene . getMap ( ) . moveLayerDown ( layer ) ;
104+ this . scene . renderScene3D ( ) ;
105+ } ;
89106
90- subLayer . services . push ( layer . id ) ;
107+ ApiGlobe . prototype . moveLayerToIndex = function ( layer , newId ) {
91108
92- var idLayerTile = map . colorTerrain . children . length ;
109+ this . scene . getMap ( ) . moveLayerToIndex ( layer , newId ) ;
110+ this . scene . renderScene3D ( ) ;
111+ } ;
93112
94- subLayer . description = { style : { layerTile : idLayerTile } } ;
113+ ApiGlobe . prototype . removeImageryLayer = function ( id ) {
95114
96- map . colorTerrain . add ( subLayer ) ;
115+ if ( this . scene . getMap ( ) . removeColorLayer ( id ) )
116+ {
117+ this . getWMTSProvider ( ) . removeLayer ( id ) ;
118+ eventLayerRemoved . layer = id ;
119+ this . viewerDiv . dispatchEvent ( eventLayerRemoved ) ;
120+ this . scene . renderScene3D ( ) ;
121+ return true ;
122+ }
97123
124+ return false ;
98125 } ;
99126
100127 /**
@@ -162,6 +189,8 @@ define('Core/Commander/Interfaces/ApiInterface/ApiGlobe', [
162189 // TODO: Normalement la creation de scene ne doit pas etre ici....
163190 // Deplacer plus tard
164191
192+ this . viewerDiv = viewerDiv ;
193+
165194 viewerDiv . addEventListener ( 'globe-builded' , function ( ) {
166195
167196 // var event = new Event('empty');
@@ -187,8 +216,6 @@ define('Core/Commander/Interfaces/ApiInterface/ApiGlobe', [
187216
188217 this . scene . add ( map ) ;
189218
190-
191-
192219 //!\\ TEMP
193220 //this.scene.wait(0);
194221 //!\\ TEMP
@@ -205,15 +232,15 @@ define('Core/Commander/Interfaces/ApiInterface/ApiGlobe', [
205232
206233 } ;
207234
208- ApiGlobe . prototype . setLayerAtLevel = function ( baseurl , layer /*,level*/ ) {
209- // TODO CLEAN AND GENERIC
210- var wmtsProvider = new WMTS_Provider ( { url :baseurl , layer :layer } ) ;
211- this . scene . managerCommand . providerMap [ 4 ] = wmtsProvider ;
212- this . scene . managerCommand . providerMap [ 5 ] = wmtsProvider ;
213- this . scene . managerCommand . providerMap [ this . scene . layers [ 0 ] . node . meshTerrain . id ] . providerWMTS = wmtsProvider ;
214- this . scene . browserScene . updateNodeMaterial ( wmtsProvider ) ;
215- this . scene . renderScene3D ( ) ;
216- } ;
235+ // ApiGlobe.prototype.setLayerAtLevel = function(baseurl,layer/*,level*/) {
236+ // // TODO CLEAN AND GENERIC
237+ // var wmtsProvider = new WMTS_Provider({url:baseurl, layer:layer});
238+ // this.scene.managerCommand.providerMap[4] = wmtsProvider;
239+ // this.scene.managerCommand.providerMap[5] = wmtsProvider;
240+ // this.scene.managerCommand.providerMap[this.scene.layers[0].node.meshTerrain.id].providerWMTS = wmtsProvider;
241+ // this.scene.browserScene.updateNodeMaterial(wmtsProvider);
242+ // this.scene.renderScene3D();
243+ // };
217244
218245 ApiGlobe . prototype . showClouds = function ( value , satelliteAnimation ) {
219246
@@ -233,7 +260,6 @@ define('Core/Commander/Interfaces/ApiInterface/ApiGlobe', [
233260 ApiGlobe . prototype . setLayerVibility = function ( id , visible ) {
234261
235262 this . scene . getMap ( ) . setLayerVibility ( id , visible ) ;
236-
237263 this . scene . renderScene3D ( ) ;
238264 } ;
239265
@@ -246,10 +272,10 @@ define('Core/Commander/Interfaces/ApiInterface/ApiGlobe', [
246272
247273 this . scene . orbit ( value ) ;
248274 } ;
275+
249276 ApiGlobe . prototype . setLayerOpacity = function ( id , visible ) {
250277
251278 this . scene . getMap ( ) . setLayerOpacity ( id , visible ) ;
252-
253279 this . scene . renderScene3D ( ) ;
254280 } ;
255281
@@ -490,6 +516,9 @@ define('Core/Commander/Interfaces/ApiInterface/ApiGlobe', [
490516 } ;
491517
492518 ApiGlobe . prototype . launchCommandApi = function ( ) {
519+
520+ //this.removeImageryLayer('ScanEX');
521+
493522// console.log(this.getMinZoomLevel("IGNPO"));
494523// console.log(this.getMaxZoomLevel("IGN_MNT"));
495524// console.log(this.getCenter());
0 commit comments