0

ArcGIS Server JavaScript Api の使用 マップ上にホーム ボタンとマップの概要を表示する際に問題が発生しています。なんらかの理由で、ホーム ボタンがマップに表示されません。スクリプトは次のとおりです。

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

なぜこうなった?

4

1 に答える 1

1

私が見ることができるのは、「esri/dijit/HomeButton」モジュールが6番目の位置にロードされているのに対し、書き込み中function(Map, OverviewMap, parser, HomeButton, FeatureLayer)にHomeButtonパラメータが4番目の位置にあることです。

モジュールを 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!"
  ]

同様に、関数のすべてのパラメーターが正しい位置にある場合、すべてがうまくいくはずです

また、同じ問題に関する参照として、インポートモジュールと対応するパラメーターを正しく配置する方法のリンクをご覧ください。

于 2014-11-13T05:56:45.260 に答える