地图控件 - Widget

约 364 字大约 1 分钟

常用方法

方法描述
add()将一个或多个 HTML 组件或控件添加到用户界面中。
empty()从给定位置移除所有组件。
find()根据控件或 DOM ID 查找一个组件。
move()将一个或多个用户界面组件移动到指定位置。
remove()从用户界面中移除一个或多个 HTML 组件或控件。

指南针控件

import Map from "@arcgis/core/Map"
import MapView from "@arcgis/core/views/MapView"
import Compass from "@arcgis/core/widgets/Compass"

const map = new Map({
  basemap: 'dark-gray',
})

const mapView = new MapView({
  map,
  container: 'js_map',
  center: [102.92934063304513, 25.102234987110343],
  zoom: 3,
})

const compass = new Compass({
  view: mapView,
})
mapView.ui.add(compass, {
  position: "top-right"
})

打印控件

import print from "@arcgis/core/widgets/print"

const print = new Print({
  view: mapView,
  printServiceUrl:
    "https://utility.arcgisonline.com/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task",
})
mapView.ui.add(print, {
  position: "top-right",
})

缩放控件

缩放是默认地图UI控件,初始化 MapView 即存在,可以通过 move 方法移动位置。

mapView.ui.move('zoom', 'bottom-right')

删除控件

删除指定控件

如:删除缩放控件

mapView.ui.remove("zoom")
// 或
mapView.ui.remove(mapView.ui.find('zoom'))

删除指定位置所有控件

如:删除左上方所有控件

mapView.ui.empty('top-left')

批量删除控件

const compass = new Compass({
  view: mapView,
});
mapView.ui.add(compass, {
  position: "bottom-right",
  index: 1,
});

mapView.ui.remove([ compass, "zoom" ]);

移动控件

移动多个控件到指定位置

// compass 和 toggle 是实例控件,zoom是默认控件
mapView.ui.move([ compass, toggle, "zoom" ], "bottom-right")

移动指定控件到指定索引位置

// legend图例控件是实例控件
mapView.ui.move({component: legend, position: "top-right", index: 0})
上次编辑于: