加载需要js错误的ESRI映射模块

时间:2014-06-25 08:44:17

标签: android cordova dictionary requirejs arcgis-js-api

我在Android设备上使用requireJs时遇到ESRI加载问题。 一切都适用于其他平台(Blackberry,iOs,WP8),但我无法在Android平台上加载地图。

这是我用来加载ESRI文件的代码:

require([ "esri/map",
                  "esri/layers/ArcGISDynamicMapServiceLayer",   
                  "esri/layers/FeatureLayer",
                  "esri/geometry/Point", 
                  "esri/SpatialReference", 
                  "esri/symbols/PictureMarkerSymbol",
                  "esri/graphic",
                  "esri/layers/GraphicsLayer",
                  "esri/lang",
                  "esri/geometry/Extent",
                  "esri/dijit/InfoWindowLite",
                  "dojo/domReady!"], 

                  function(Map,
                          ArcGISDynamicMapServiceLayer, 
                          FeatureLayer, 
                          Point, 
                          SpatialReference, 
                          PictureMarkerSymbol, 
                          Graphic, 
                          GraphicsLayer, 
                          esriLang, 
                          Extent, 
                          InfoWindowLite) {
        var MyMap = new esri.Map("mapContainer",{
                 basemap: "topo",
                 center: [ 10, 36], // long, lat
                 logo : false,
                 zoom: 11
               });

                 });

这是我得到的日志:

Uncaught Error: Load timeout for modules: dojo/domReady!_unnormalized3,dojo/i18n!esri/nls/jsapi_unnormalized4,dojo/has!extend-esri?esri/layers/agscommon_unnormalized5,dojo/has!dom-addeventlistener?:./aspect_unnormalized6,dojo/i18n!dojo/cldr/nls/gregorian_unnormalized7,dojo/has!extend-esri?esri/tasks/QueryTask_unnormalized8,dojo/has!extend-esri?esri/tasks/RelationshipQuery_unnormalized9,dojo/has!extend-esri?esri/tasks/StatisticDefinition_unnormalized10,dojox/gfx/renderer!_unnormalized11,dojo/i18n!dojo/cldr/nls/number_unnormalized12,dojo/i18n!esri/nls/jsapi_unnormalized13,dojo/selector/_loader!default_unnormalized14,dojo/has!host-browser?dom-addeventlistener?:../on:_unnormalized15

http://requirejs.org/docs/errors.html#timeout:1748

有人对这个问题有所了解吗?

2 个答案:

答案 0 :(得分:0)

也许您必须在InfoWindowLite之后以function(Map,... InfoWindowLite, ready) {...

的形式在您的函数中放置一个modulename

答案 1 :(得分:0)

实际上我使用的是ESRI版本3.7,我用ESRI版本3.9更改了它,它现在就像一个魅力。

所以这是与has.js模块相关的版本问题。但是,如果您在 requireJs 中加载模块timeOut时遇到此类问题,则可以将此属性添加到 require.config

  

urlArgs:“bust =”+(new Date())。getTime(),

它有助于解决问题。