我正在使用'arcgis'API加載地圖的php應用程序。請看下面的網址:dojo.require聲明未按預期加載esri地圖模塊
http://js.arcgis.com/3.11/
爲了加載在我的應用程序的ArcGIS地圖,我必須用
dojo.require("esri.map");
所以在我的單頁PHP應用程序添加此如下要求聲明:
<script type="text/javascript">
dojo.require("esri.map");
</script>
而且在我給地圖一個js文件被加載,如下圖所示:
var myOptions = {
maxZoom: 20,
minZoom: 3,
zoom:5,
isZoomSlider: false,
sliderStyle: "large",
sliderPosition: "top-right"
};
this.map = new esri.Map("mapDiv", myOptions);
但是,當我運行這個應用程序時,我得到一個錯誤,在「this.map = new esri.Map(」mapDiv「,myOptions);行」Uncaught TypeError:undefined不是函數「
如果我打開開發人員工具,通過在require和esri.Map語句中保留斷點來運行相同的代碼,我可以看到地圖正在加載。但是如果我沒有打開開發者工具就運行它,那麼我就面臨這個問題。
爲什麼dojo.require語句沒有按預期工作? 我在做什麼錯? 請回復
我已經嘗試過在我的應用程序too.But,我必須初始化地圖別的地方,而不是在初始化它需要的功能原因是我的應用程序正在使用Backbone.js,我無法直接在視圖中包含此代碼。所以我做了下面的 在一個視圖中,我使用了下面的代碼: this.map = new mapAssign(「mapDiv」,myOptions); 在這樣做的時候,我得到了同樣的問題,因爲require函數並沒有首先擊中。相反,Map初始化首先被擊中。 –
我製作了一個[sample](http://jsfiddle.net/C9wew/7197/),可以查看骨幹視圖和esri地圖。我會建議您瞭解更多關於AMD的信息[https://developers.arcgis.com/javascript/jshelp/inside_dojo_amd.html] – mchepurnoy