地图控件 - 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})