使用ArcGIS地图向下滚动页面

时间:2016-05-18 11:30:44

标签: javascript arcgis esri arcgis-js-api

我正在为我的地图使用ArcGIS API 4.0版。

每当加载地图时,用户必须向下滚动才能看到地图。 这是我面临的第一个问题。

我的地图位于页面中间的某个位置,因此用户必须向下滚动才能查看。

然后,如果在地图上单击某个点或拖动某个区域进行放大,则地图显示为选区的指针不是鼠标指向的确切点。它指向鼠标指针上方的位置。

以下是示例代码。

<TabControl>

注意: - arcgsi js api样本也存在同样的问题...... https://developers.arcgis.com/javascript/latest/sample-code/sandbox/sandbox.html?sample=get-started-mapview

如果您运行此代码,您将看到是否向下滚动并拖动一个区域(通过按住shift并拖动鼠标),它将拖动选区上方的区域。

2 个答案:

答案 0 :(得分:0)

嗯,我注意到只要用户滚动就会发生这种情况。 所以我建议删除滚动条或减小顶部标题容器的大小。

有关详细信息,请参阅以下运行代码: -

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no">
  <title>Add the Compass widget to a basic 2D map - 4.0</title>

  <style>
        html,
    body,
    #viewDiv {
      padding: 0;
      margin: 0;
      height: 100%;
      width: 100%;
      overflow: hidden;
    }
    
  </style>

  <link rel="stylesheet" href="https://js.arcgis.com/4.0/esri/css/main.css">
  <script src="https://js.arcgis.com/4.0/"></script>

  <script>
    require([
        "esri/Map",
        "esri/views/MapView",
        "esri/widgets/Compass",
        "dojo/domReady!"
      ],
      function(
        Map,
        MapView,
        Compass
      ) {

        var map = new Map({
          basemap: "national-geographic"
        });

        var view = new MapView({
          container: "viewDiv",
          scale: 500000,
          center: [26.26, 39.17],
          map: map
        });

        /********************************
         * Create a compass widget object.
         *********************************/

        var compassWidget = new Compass({
          view: view
        });

        // Add the Compass widget to the top left corner of the view
        view.ui.add(compassWidget, "top-left");
      });
  </script>
</head>
<body>
<!-- add div for test-->
<div style="height:100px;"></div>
  <div id="viewDiv"></div>
</body>
</html>

希望这会对您有所帮助:)

答案 1 :(得分:0)

我在其中一个ArcGIS论坛中发布了这个,并且知道这是4.0的错误,将在4.1中修复。