了解如何添加、更新和删除要素服务中的要素。
通过 Editor
微件可以对要素图层进行添加、更新和删除要素。此微件允许您编辑几何和属性。要使用微件,需确保您拥有访问和编辑要素图层的正确凭据,并在要素图层的项目页面中,将启用编辑属性设置为 true
。凭据可从门户中生成,并可在项目属性页面上验证凭据和设置。
在本教程中,您将使用 Editor
微件在 My Points 要素图层 中添加、更新和删除要素。
步骤
创建新 Pen
- 要开始使用,请完成显示地图教程 或 使用此 Pen。
添加模块
在 require
语句中,添加 FeatureLayer
和 Editor
模块。
GeoScene Maps SDK for JavaScript 提供有 AMD 模块和 ES 模块,但本教程基于 AMD。AMD require
函数使用引用来确定加载哪些模块 - 例如,您可以指定 "geoscene/Map"
来加载 Map 模块。加载模块后,它们将作为参数 (例如,Map
) 传递给回调函数,以便在应用程序中使用。保持模块引用和回调参数的顺序相同是很重要的。有关不同类型模块的更多信息,请访问工具指南主题。
添加行。添加行。更改行1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
require([
"geoscene/config",
"geoscene/Map",
"geoscene/views/MapView",
"geoscene/layers/FeatureLayer",
"geoscene/widgets/Editor"
], function(geosceneConfig, Map, MapView, FeatureLayer, Editor) {
添加要素图层
使用 FeatureLayer
类来访问 My Points 要素图层。然后通过 layers
属性将要素图层添加到地图中。
在 map
上方,创建 myPointsFeatureLayer
并设置其 url
属性以访问要素服务。
添加行。添加行。添加行。添加行。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// Reference a feature layer to edit
const myPointsFeatureLayer = new FeatureLayer({
url: "https://services3.arcgis.com/arcgis/rest/services/my_points/FeatureServer"
});
geosceneConfig.apiKey = "YOUR_API_KEY";
const map = new Map({
basemap: "tianditu-vector", // Basemap layer service
});
将 map
中的 layers
属性设置为 myPointsFeatureLayer
。
添加行。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// Reference a feature layer to edit
const myPointsFeatureLayer = new FeatureLayer({
url: "https://services3.arcgis.com/arcgis/rest/services/my_points/FeatureServer"
});
geosceneConfig.apiKey = "YOUR_API_KEY";
const map = new Map({
basemap: "tianditu-vector", // Basemap layer service
layers: [myPointsFeatureLayer]
});
通过 Editor
微件,可以以交互方式添加、更新和删除要素。该微件能自动检测到地图中的所有可编辑图层。
创建 editor
并将其添加到 view
的 ui
中。
添加行。添加行。添加行。添加行。添加行。添加行。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
const view = new MapView({
container: "viewDiv",
map: map,
center: [118.80543,34.02700],
zoom: 13
});
// Editor widget
const editor = new Editor({
view: view
});
// Add widget to the view
view.ui.add(editor, "top-right");
您应在浏览器的右上角看到此微件。
编辑要素
使用 Editor
微件添加、更新和删除要素。
如果应用程序未运行,请在右上角单击运行。
在编辑器中,单击添加要素。单击地图以创建具有以下属性的新要素:
- id:
100
- name:
My Point
- rating:
Good
单击添加将要素添加至 view
。单击 < 以返回主窗口。
在编辑器中,单击编辑要素。单击创建的要素并更新其属性值。
- id:
101
- name:
Awesome Beach
- rating:
Excellent
单击更新以更新 view
中的要素。单击 < 以返回主窗口。
在编辑器中,单击编辑要素。单击编辑的要素,然后单击删除。
运行应用程序
在 CodePen 中,运行代码以显示地图。
现在,您应能够从 My Points 要素图层中添加、更新和删除要素。
下一步是什么?
要了解如何使用其他 API 功能,请参阅以下教程: