2016-11-30 4 views
0

私はマップビジュアリゼーションのすべてのニーズに対応するために1つのモジュールが専用のAngular 2でアプリケーションを実装しようとしています。 MapViewとSceneViewを切り替えることができるようにしたい(地面標高を持つ3Dビューを持つ)。 私は地上高を除いてすべてを稼働させることができました。 それ以外のものの角度2に問題があるかどうかはわかりませんが、現在のAPI(4.1)を古いバージョン(4.0)に置き換えたときに地上高が表示されます。 しかし、それは私の問題でなければなりません。 誰もが同じ問題を経験していますか?esri ground world-elevation動作しません

ngOnInit() { 
 
    
 
    let self = this 
 
    this.setSceneView().then(function (obj: SceneView) { 
 
      
 
      self.actualView = obj;   
 
      obj.on("click",(e) => self.onMapClick(e)); 
 

 
     }); 
 
    } 
 
    private setSceneView() { 
 
     return new SceneView({ 
 
      container: this.elmentRef.nativeElement.lastChild.firstChild, 
 
      map: new Map({ basemap: 'topo', ground: 'world-elevation' }), 
 

 
      zoom: this.zoom, 
 
      center: this.center, 
 
      
 
     }); 
 
    }

Systemjs.config.js

(function (global) { 
 
    System.config({ 
 
    paths: { 
 
     // paths serve as alias 
 
    'npm:': 'node_modules/', 
 
     moment: 'node_modules/moment/moment.js'  
 
    }, 
 

 
    // map tells the System loader where to look for things 
 
    map: { 
 
     // our app is within the app folder 
 
     app: 'app', 
 
     // angular bundles 
 
     '@angular/core': 'npm:@angular/core/bundles/core.umd.js', 
 
     '@angular/common': 'npm:@angular/common/bundles/common.umd.js', 
 
     '@angular/compiler': 'npm:@angular/compiler/bundles/compiler.umd.js', 
 
     '@angular/platform-browser': 'npm:@angular/platform-browser/bundles/platform-browser.umd.js', 
 
     '@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js', 
 
     '@angular/http': 'npm:@angular/http/bundles/http.umd.js', 
 
     '@angular/router': 'npm:@angular/router/bundles/router.umd.js', 
 
     '@angular/forms': 'npm:@angular/forms/bundles/forms.umd.js', 
 
     // other libraries 
 
     'rxjs': 'npm:rxjs', 
 
     'angular-in-memory-web-api': 'npm:angular-in-memory-web-api', 
 
     'ng2-bootstrap': 'npm:ng2-bootstrap', 
 
    }, 
 
    // packages tells the System loader how to load when no filename and/or no extension 
 
    packages: { 
 
     app: { 
 
     main: './main.js', 
 
     defaultExtension: 'js' 
 
     }, 
 
     rxjs: { 
 
     defaultExtension: 'js' 
 
     }, 
 
     'angular-in-memory-web-api': { 
 
     main: './index.js', 
 
     defaultExtension: 'js' 
 
     }, 
 
     'ng2-bootstrap': { 
 
     main: './ng2-bootstrap.js', 
 
     defaultExtension: 'js' 
 
     } 
 
    } 
 
    }); 
 

 

 
    esriSystem.register(
 
    // array of Esri module names to load and then register with SystemJS 
 
    [ 
 
     //"dojo/on", 
 
     'esri/Map', 
 
     'esri/core/Collection', 
 
     'esri/layers/FeatureLayer', 
 
     'esri/renderers/SimpleRenderer', 
 
     'esri/symbols/Symbol', 
 
     'esri/symbols/SimpleMarkerSymbol', 
 
     'esri/symbols/SimpleLineSymbol', 
 
     'esri/Graphic', 
 
     'esri/Color', 
 
     'esri/geometry/Polygon', 
 
     'esri/geometry/Polyline', 
 
     'esri/geometry/Point', 
 
     'esri/views/View', 
 
     'esri/views/MapView', 
 
     "esri/views/SceneView", 
 
     'esri/widgets/Widget', 
 
     'esri/widgets/BasemapToggle', 
 
     'esri/request' 
 
    ], 
 
    // optional callback function 
 
    function() { 
 
     // then bootstrap application 
 
     System.import('app/main').then(null, console.error.bind(console)); 
 
    });

答えて

0

それは私にしばらく時間がかかるが、私は把握し、ここでの問題は、他の部分についてでしたインデックスファイルでは、スクリプトファイルの順序が間違っていました。

<script src="node_modules/core-js/client/shim.min.js"></script> 
<script src="node_modules/zone.js/dist/zone.js"></script> 

<script src="node_modules/reflect-metadata/Reflect.js"></script> 
<script src="node_modules/systemjs/dist/system.src.js"></script> 

これが正しい順序である必要があり、私の場合にはReflect.jsは、最初のプラグインでした。何らかの理由で以前のバージョンではこれは外部呼び出しには効果がありませんでしたが、最新のバージョンではすべての呼び出しを強制終了していましたので、地上高を見ることができませんでした

関連する問題