Bootstrap 未为 ArcGIS Server 地图定义模态要求
Bootstrap modal require is not defined for ArcGIS server map
如果这很简单,请原谅我,但我无法找到解决问题的方法。
我正在尝试以 bootstrap 模式打开 ESRI 地图。第一次它没有加载地图(在控制台中我看到错误 "require is not defined")但第二次它工作正常。如果我在单独的 window 中打开地图,那么它每次也能正常工作。
我的部分视图如下所示:
@{
<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">×</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 包括在我的部分视图中,但没有帮助。有人可以告诉我这里出了什么问题吗?谢谢!!
最后我通过在主视图而不是局部视图上为 ArcGIS 添加 js 解决了这个问题。由于 RequireJS 是异步加载的,所以其他脚本/函数不会等到它完全加载。
另一种解决方法是通过为 RequireJS 设置配置来加载 bootstrap 模式,以确保最初加载所有必需的脚本。可以找到示例 here
请具体说明您的问题。你在哪里包括了require.js?尝试在脚本之前包含它,如果包含 require.js,请检查控制台。
如果这很简单,请原谅我,但我无法找到解决问题的方法。
我正在尝试以 bootstrap 模式打开 ESRI 地图。第一次它没有加载地图(在控制台中我看到错误 "require is not defined")但第二次它工作正常。如果我在单独的 window 中打开地图,那么它每次也能正常工作。
我的部分视图如下所示:
@{
<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">×</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 包括在我的部分视图中,但没有帮助。有人可以告诉我这里出了什么问题吗?谢谢!!
最后我通过在主视图而不是局部视图上为 ArcGIS 添加 js 解决了这个问题。由于 RequireJS 是异步加载的,所以其他脚本/函数不会等到它完全加载。
另一种解决方法是通过为 RequireJS 设置配置来加载 bootstrap 模式,以确保最初加载所有必需的脚本。可以找到示例 here
请具体说明您的问题。你在哪里包括了require.js?尝试在脚本之前包含它,如果包含 require.js,请检查控制台。