使用ArcGIS Server JavaScript Api时,我在地图上有Home按钮和地图概览的问题。不管什么原因,主页按钮没有显示在地图上。下面是脚本。
<script>
require([
"esri/map",
"esri/dijit/OverviewMap", "dojo/parser","dijit/layout/BorderContainer", "dijit/layout/ContentPane",
"esri/dijit/HomeButton", "esri/layers/FeatureLayer", "dojo/dom-construct", "dojo/domReady!"
], function(
Map, OverviewMap,
parser, HomeButton, FeatureLayer
) {
parser.parse();
var map = new Map("mapDiv", {
basemap: "topo",
center: [-126.416, 55.781],
zoom: 6
});
//===================================================== Overview
var overviewMapDijit = new OverviewMap({
map: map,
visible: true
});
overviewMapDijit.startup();
//===================================================== Shapefile
//add a layer to the map
var featureLayer = new FeatureLayer("http://somewhere/1", {
mode: FeatureLayer.MODE_ONDEMAND,
});
map.addLayer(featureLayer);
//===================================================== Home Button
var home = new HomeButton({
map: map
}, "HomeButton");
home.startup();
});
</script>
和CSS的主页按钮是。
#HomeButton { position: absolute; top: 120px; left: 50px; z-index: 2; }
为什么会发生这种情况?
从你的我可以看到的是,你的 "esridijitHomeButton "模块。 被装在第6位,而在写 function(Map, OverviewMap, parser, HomeButton, FeatureLayer)
你提到的HomeButton参数在第四个位置。
如果你把你的模块也放在第4个位置的话
require([
"esri/map",
"esri/dijit/OverviewMap", "dojo/parser", "esri/dijit/HomeButton", "dijit/layout/BorderContainer", "dijit/layout/ContentPane", "esri/layers/FeatureLayer", "dojo/dom-construct", "dojo/domReady!"
]
并同样将函数的所有参数放在正确的位置上,那么一切都应该是顺利的
同样的问题你也可以看看这个,供你参考。如何正确放置导入模块及对应参数 联系