在ArcGIS Sever JavaScript API上同时拥有HomeButton和Overview。

问题描述 投票:0回答:1

使用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; }

为什么会发生这种情况?

arcgis-server arcgis-js-api
1个回答
1
投票

从你的我可以看到的是,你的 "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!"
  ]

并同样将函数的所有参数放在正确的位置上,那么一切都应该是顺利的

同样的问题你也可以看看这个,供你参考。如何正确放置导入模块及对应参数 联系

© www.soinside.com 2019 - 2024. All rights reserved.