5

請原諒,如果這非常簡單,但我無法找出解決此問題的解決方法。ArcGIS服務器地圖未定義Bootstrap模式要求

我正試圖在bootstrap模式下打開ESRI映射。在第一次它不加載地圖(在控制檯中,我看到錯誤「需求未定義」),但第二次它工作正常。如果我在單獨的窗口中打開地圖,那麼每次都能很好地工作。

我的部分觀點看起來像以下:

@{ 
    <link rel="stylesheet" href="https://js.arcgis.com/3.21/dijit/themes/claro/claro.css"> 
    <link rel="stylesheet" href="https://js.arcgis.com/3.21/esri/css/esri.css"> 

    <script src="https://js.arcgis.com/3.21/"></script> 
    <script> 
     var map; 

     require([ 
      "esri/map", 
      "dojo/parser", 
      "dojo/domReady!" 
     ], 
     function (
      Map, 
      parser 
     ) 
     { 
      parser.parse(); 

      map = new Map("map", { 
       basemap: "streets", 
       center: [5.79, 50.97], // lon, lat 
       zoom: 16, 
       slider: false 
      }); 
     }); 
    </script> 
} 

<div class="modal-header"> 
    <a class="close" data-dismiss="modal">&times;</a> 
    <h4>DrawProjectLocation</h4> 
</div> 
<div class="modal-body"> 
    <div id="mainWindow" data-dojo-type="dijit/layout/BorderContainer" data-dojo-props="design:'headline', gutters:false" style="width:100%; height:100%;">  
     <div id="map" class="roundedCorners" data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'center'"> 

     </div> 
     <div id="footer" class="roundedCorners" data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'bottom'"> 
      <div id="editorDiv"></div> 
     </div> 
    </div> 
</div> 
<div class="modal-footer"> 
    <span id="info" style="position:absolute; left:15px; bottom:15px; color:#000; z-index:100"></span> 
    <button type="submit" class="btn btn-success" id="submitButton">Save</button> 
    <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> 
</div> 

我想包括在我的部分觀點require.js,但它並沒有幫助。有人可以告訴我這裏出了什麼問題。謝謝!!

+0

任何想法的傢伙:O –

+1

聽起來像你的'require'腳本來在HTML的上述腳本之後。檢查頁面的源代碼並確保它在代碼之前出現,或者將上面的代碼封裝在一個'onload'事件(或類似的事件)中, –

回答

3

最後,我通過在主視圖中添加js for ArcGIS而不是局部視圖來解決問題。由於RequireJS是異步加載的,因此其他腳本/函數不會等到其完全加載。

另一個解決方法是通過設置RequireJS的配置來加載引導模式,以確保最初加載所有必需的腳本。例子可以發現here

1

請具體你的問題。你在哪裏包括require.js?嘗試將其包含在腳本之前,並在控制檯中檢查是否包含require.js