Gis专辑Geomatics(GIS,GPS,RS,Surveying)GIS

地图小部件—ArcGIS API for JavaScript

2017-08-09  本文已影响168人  肖大昕

电子地图和传统纸质地图最大的区别就是交互的程度不一样,而交互性很大程度上由地图的小部件所控制。传统纸制地图主要有三个基本部件(要素):比例尺、指北针、图例,而电子地图有更多的交互性小部件去选择,在ArcGIS API for JavaScript中,地图小部件类主要放在esri/dijit包中。

比例尺(Scalebar)

比例尺是表示图上一条线段的长度与地面相应线段的实际长度之比。

require(["esri/dijit/Scalebar"], function(Scalebar) {
    var scalebar = new Scalebar({
          map: map,
          attachTo: "bottom-left",
          scalebarUnit: "dual"
        });
 });

鹰眼图(OverviewMap)

鹰眼图是GIS中一个基本的功能,顾名思义,在鹰眼图上可以象从空中俯视一样查看地图框中所显示的地图在整个图中的位置

require(["esri/dijit/OverviewMap"], function(OverviewMap) {
    var overviewMapDijit = new OverviewMap({
        map: map,
        attachTo: "bottom-right",
        color:" #D84E13",
        visible: true
    });
    overviewMapDijit.startup();
});`

底图库(BasemapGallery)

BasemapGallery小部件装载了ArcGIS.com中的底图库或用户定义的一组地图或图像服务。当从BasemapGallery中选择一个新的底图时,将从地图中删除原底图图层,并添加新的底图图层。

require([
  "esri/map", "esri/dijit/BasemapGallery", ... 
], function(Map, BasemapGallery, ... ) {
  var map = new Map( ... );
  var basemapGallery = new BasemapGallery({
    showArcGISBasemaps: true,
    map: map
  }, "basemapGalleryDiv");
});

底图切换器(BasemapToggle)

和BasemapGallery不同,BasemapToggle提供了一个简单的按钮用来在两个底图之间切换。

var toggle = new BasemapToggle({
        map: map,
        basemap: "satellite"
      }, "BasemapToggle");
toggle.startup();

图例(Legend)

图例是集中于地图一角或一侧的地图上各种符号和颜色所代表内容与指标的说明,有助于更好的认识地图。

require([
  "esri.Map", "esri/dijit/Legend", ... 
], function(Map, Legend, ... ) {
  var map = new Map( ... );
  var legend = new Legend({
    map: map
  }, "legendDiv");
  legend.startup();
});

定位按钮(LocateButton)

LocateButton提供了一个简单的按钮来定位和缩放到用户的位置。
“定位”小部件仅在安全网页(https)和localhost上支持。

var locateButton = new LocateButton({
  map: map
}, "<dom_id>");

测量工具(Measurement)

测量小部件包含计算当前位置、测量距离和面积等工具

require([
  "esri/map", "esri/dijit/Measurement", "esri/units", "dojo/dom", ... 
], function(Map, Measurement, Units, dom, ... ) {
  var map = new Map( ... );
  var measurement = new Measurement({
    map: map,
    defaultAreaUnit: Units.SQUARE_MILES,
    defaultLengthUnit: Units.KILOMETERS
  }, dom.byId('measurement'));
});

书签(Bookmarks)

书签窗口小部件可以将当前的地图范围保存为书签。该小部件提供了一个用户界面,允许用户添加,删除和编辑书签。

require([
  "esri/map", "esri/dijit/Bookmarks", "dojo/dom", ... 
], function(Map, Bookmarks, dom, ... ) {
  var map = new Map( ... );
  var bookmarks = new Bookmarks({
    map: map, 
    bookmarks: bookmarks
  }, dom.byId('bookmarks'));
}); 

关注微信公众号 GISXXCOM,GET更多技能

上一篇 下一篇

猜你喜欢

热点阅读