2016-05-30 3 views
-1

をロードすることはできませんされています。のArcGIS APIモジュールは、私がのArcGIS APIや道場クラスを使用してインタラクティブマップを開発するためのコードを書いてい

私は、このような「ESRI /ツールバー/ドロー」など、いくつかのモジュールまたは他のいくつかのモジュールを定義するまでは、正常に動作します。これらはエラーを与える:にhttp:(見つかりません)404 //localhost/esri/toolbars/draw.js

私の質問ですが、私はこのような「道場/ _base /宣言」などの他の多くのモジュールを使用していた場合、 「道場/繰延」、「ESRI /マップ」と他の多くの「道場/ _base/LANG」、「/上の道場」、なぜプログラムは、「ESRI /ツールバー/ドロー」をロードできないのですか?興味深いことに、ArcGIS APIをローカルで使用していないので、ローカルホストで検索します。これは適切な場所ではありません。

誰かが親切にこれで私を助けることができる場合、私は疑問に思って。以下は私のコードのサンプルです:

require({ 
async: true, 
parseOnLoad: true, 
baseUrl: "/myApp/", 
aliases: [ 
['text', 'dojo/text'] 
], 
packages: [{ 
name: 'controllers', 
location: 'js/controllers' 
}, { 
name: 'services', 
location: 'js/services' 
}, { 
name: 'utils', 
location: 'js/utils' 
}, { 
name: 'widgets', 
location: 'js/widgets' 
}, { 
name: 'app', 
location: 'js', 
main:'main' 
}] 
}, ['app']); 
___________________________________________ widgets/edit/drawTools.js 
define([ 
'dojo/_base/declare', 
'dojo/_base/lang', 
'dojo/on', 
'dijit/_WidgetBase', 
'dijit/_TemplatedMixin', 
'dojo/dom-class', 
'text!widgets/edit/drawTools.html', 
'esri/graphic', 
"esri/toolbars/draw", 
"esri/symbols/SimpleMarkerSymbol", 
"esri/symbols/SimpleLineSymbol", 
"esri/symbols/PictureFillSymbol",  
"esri/symbols/CartographicLineSymbol", 
"esri/Color" 
    ], function(
    declare, lang, on, _WidgetBase, _TemplatedMixin, domClass, template,  graphic, Draw, SimpleMarkerSymbol, SimpleLineSymbol, 
    PictureFillSymbol, CartographicLineSymbol, Color 
    ) { 


     return declare([_WidgetBase, _TemplatedMixin], { 

      templateString: template, 
      map:null, 
      options:{}, 

      constructor: function(options) { 
       this.options = options; 
       this.map = this.options.map; 
      }, 

      postCreate: function() { 
       tb = new Draw(this.map); 
       tb.on("draw-end", '_addGraphic'); 
      } 

      function _addGraphic(evt) { 
     } 
     }) 
    }) 

答えて

0

dojoの実行時設定が正しくありません。ドキュメントを参照してください。 here

Note that not all configuration options can be set at runtime. In particular, async, tlmSiblingOfDojo, and pre-existing has tests cannot be changed once the loader is loaded. Additionally, most configuration data is shallow copied, which means that you couldn’t use this mechanism to, for example, add more keys to a custom configuration object—the object would be overwritten

dojoConfigを追加するデフォルトの方法を使用してみてください。また、esri api urlを追加する前にdojoConfigを追加する必要があります。

<script> 
    dojoConfig= { 
     parseOnLoad: true, 
     async: true 
     package: [{ 
      "name": "agsjs", 
      "location": location.pathname.replace(/\/[^/]+$/, "")+'/agsjs' 
      }] 
    }; 
</script> 

Dojo apiはesri apiの一部です。したがって、dojoに明示的なURLを追加する必要はありません。

+0

ありがとう、それは問題を解決しました。 – samira

+0

私は助けてくれるとうれしいです。 –