forked from SuperMap/iClient-JavaScript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathWebSymbol.js
More file actions
112 lines (111 loc) · 3.58 KB
/
WebSymbol.js
File metadata and controls
112 lines (111 loc) · 3.58 KB
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/* Copyright© 2000 - 2022 SuperMap Software Co.Ltd. All rights reserved.
* This program are made available under the terms of the Apache License, Version 2.0
* which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/
/**
* @name WebSymbol
* @namespace
* @category Visualization WebSymbol
* @description
* **SuperMap iClient for MapboxGL 支持 Web 符号库,扩展了 [Mapbox](https://docs.mapbox.com/mapbox-gl-js/api/) 的 API。**
*
* ## 新增 API
* ## mapboxgl.Map.prototype.loadSymbol
* 加载预定义符号。
*
* 参数名称 |类型 |描述
* :---- |:--- |:---
* id |string |[预定义符号ID]()
* callback |function |在符号加载完成后调用,返回符号信息;如果有错误,则返回错误参数。
*
* **Example**
* ```
* map.loadSymbol('point-1', (error, symbol) => {
* if (error) throw error;
* // Add the loaded symbol with the ID 'point-1'.
* map.addSymbol('point-1', symbol);
* });
* ```
*
*
* ## mapboxgl.Map.prototype.addSymbol
* 添加一个符号。该符号可以显示在地图上。Mapbox layers 的 symbol属性可以使用该符号ID。
*
* |参数名称 |类型 |描述 | ||
* |---- |--- |--- |---|---|
* |id |string |符号ID |||
* |symbol |object |由Mapbox Layers中的[paint](https://docs.mapbox.com/mapbox-gl-js/style-spec/layers/#paint-property)、[layout](https://docs.mapbox.com/mapbox-gl-js/style-spec/layers/#layout-property)组成的符号对象|||
* | | |参数名称 |类型 |描述 |
* | | |paint |object |Mapbox Layers [paint](https://docs.mapbox.com/mapbox-gl-js/style-spec/layers/#paint-property)|
* | | |layout |object |Mapbox Layers [layout](https://docs.mapbox.com/mapbox-gl-js/style-spec/layers/#layout-property)|
*
* **Example**
* ```
* map.addSymbol('point-1', symbol);
* ```
*
*
* ## mapboxgl.Map.prototype.setSymbol
* 给指定图层设置符号。
*
* 参数名称 |类型 |描述
* :---- |:--- |:---
* layerId |string |图层ID
* symbolId |string |已经添加的符号ID(addSymbol中的符号ID)
*
* **Example**
* ```
* map.setSymbol("symbol", 'point-1');
* ```
*
*
* ## mapboxgl.Map.prototype.hasSymbol
* 检查是否存在特定 ID 的符号。
*
* 参数名称 |类型 |描述
* :---- |:--- |:---
* symbolId |string |符号ID
*
* **Example**
* ```
* const pointExists = map.hasSymbol('point-1');
* ```
*
*
* ## mapboxgl.Map.prototype.removeSymbol
* 删除符号。
*
* 参数名称 |类型 |描述
* :---- |:--- |:---
* symbolId |string |已经添加的符号ID
*
* **Example**
* ```
* map.removeSymbol('point-1');
* ```
*
*
* ## 扩展 [Mapbox Layers](https://docs.mapbox.com/mapbox-gl-js/style-spec/layers/)
* 在[Mapbox Layers](https://docs.mapbox.com/mapbox-gl-js/style-spec/layers/) 属性的基础上新增了symbol 属性, 指定符号ID。
*
* **Example**
* ```
* map.addLayer({
* id: "symbol",
* source: "sourceId",
* type: "symbol",
* symbol: 'point-1'
* });
* ```
* ```
* map.setStyle({
* version: 8,
* sources: {},
* layers: [{
* id: "symbol",
* source: "sourceId",
* type: "symbol",
* symbol: 'point-1'
* }]
* })
* ```
*/