Appearance
GIS 地图操作
目录
1. 添加 GIS 地图
引入版本:3.1 起支持
功能描述:
在三维场景中添加 GIS 地图
调用方法:
JavaScript
let jsonData = {
id: 'idObj',
name: 'layerName',
maps: [{
mapUrl: 'http://mapserver/beijing/tileset.json',
mapType: 'TMS',
mapTokenName: "tk",
mapTokenValue: "ABCDEFG",
mapZOffset: 0,
mapLOD: 2
}, {
mapUrl: 'http://mapserver/beijing/tileset.json',
mapType: 'TMS',
mapTokenName: "tk",
mapTokenValue: "ABCDEFG",
mapZOffset: 0,
mapLOD: 2
}]
terrainUrl: 'http://mapserver/beijing/tileset.json',
terrainType: "terrain",
terrainToken: 'ABCDEFG',
visible: true,
alpha: 0.5,
};
appInstance.uniCall('addGISMap', jsonData, (result) => {
console.log(result);
});参数描述:
| 属性 | 类型 | 说明 | 端渲染 | 流渲染 |
|---|---|---|---|---|
| id | String | 图层对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 | 支持 | 支持 |
| name | String | 图层名称,支持为图层自定义名称 | 支持 | 支持 |
| mapUrl | String | 地图瓦片地址 流渲染 TMS 类型的 map 填写 tileset.json 文件的完整 URL 路径,WMTS 类型的填写不带 Token 的图层地址,类似:http://t0.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={x}&TILECOL={y} 端渲染填写https://abc.xyz.com/{z}/{x}/{y}.jpg 或 png 的格式,只支持 256x256 的影像瓦片。 | 支持 | 支持 |
| mapType | String | 地图瓦片数据格式类别,支持“TMS”或“WMTS”两种类型 | 支持 | 支持 |
| mapTokenName | String | 可以为"",或者如果地图瓦片需要 token,这里填写 token 的 name,在 URL 请求时当作 parameter 的 key 传入 | 支持 | 支持 |
| mapTokenValue | String | 可以为"",或者如果地图瓦片需要 token,这里填写 token 的 value,在 URL 请求时当作 parameter 的 value 传入 | 支持 | 支持 |
| mapZOffset | Number | 在请求地图地址时对于 Z 参数的偏移量,可以是-1、0、1 或其他整数,默认值 0 | 不支持 | 支持 |
| mapLOD | Number | 地图瓦片数据细节加载系数,表示在当前视野距离下,加载地图层级的级别系数。流渲染默认值是 2,如果想更加清晰,可以设置 1 或者 0.5 | 支持 | 支持 |
| terrainUrl | String | 高程瓦片地址 流渲染需要是 terrain 格式的,填写 tileset.json 文件的完整 URL 路径。端渲染填写:https://abc.xyz.com/tiles/terrain-rgb/{z}/{x}/{y}.png?key={apiKey},文件格式应该是 512 x 512 的 PNG,格式是 terrain-rgb, nasadem, terrarium 之一。例如 mapbox,maptiler 或者 nasadem.xyz 的高程瓦片服务。 | 支持 | 支持 |
| terrainType | String | 地图的高程数据格式类别,流渲染为“terrain”或者为“”,端渲染为 "terrain-rgb","nasadem",或 "terrarium" 之一。 | 支持 | 支持 |
| terrainToken | String | 预留字段 | 支持 | 支持 |
| visible | Boolean | 显隐控制,true:显示;false:隐藏 | 支持 | 支持 |
| alpha | Number | 透明度,0:完全透明;1:完全不透明 | 支持 | 支持 |
回调数据:
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述:
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
2. 更新 GIS 地图数据
引入版本:3.1 起支持
功能描述:
更新三维场景中添加 GIS 地图的数据
调用方法:
JavaScript
let jsonData = {
id: 'idObj',
name: 'layerName',
mapIndex: 0,
mapUrl: 'http://mapserver/beijing/tileset.json',
mapTokenName: "tk",
mapTokenValue: "ABCDEFG",
terrainUrl: 'http://mapserver/beijing/tileset.json',
terrainType: 'TMS',
terrainToken: 'ABCDEFG',
};
appInstance.uniCall('updateGISMap', jsonData, (result) => {
console.log(result);
});参数描述:
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 图层对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
| name | String | 图层名称,支持为图层自定义名称 |
| mapIndex | Number | 更新 map 图层数组中的编号,map 图层数组是在 addGISMap 时通过 maps 属性传入的。编号从 0 开始。如果找不到编号,或者编号超出范围,会更新默认 0 号。 |
| mapUrl | String | 地图瓦片地址 流渲染 TMS 类型的 map 填写 tileset.json 文件的完整 URL 路径,WMTS 类型的填写不带 Token 的图层地址,类似:http://t0.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={x}&TILECOL={y} 端渲染填写https://abc.xyz.com/{z}/{x}/{y}.jpg 或 png 的格式,只支持 256x256 的影像瓦片。 |
| mapTokenName | String | 可以为"",或者如果地图瓦片需要 token,这里填写 token 的 name,在 URL 请求时当作 parameter 的 key 传入 |
| mapTokenValue | String | 可以为"",或者如果地图瓦片需要 token,这里填写 token 的 value,在 URL 请求时当作 parameter 的 value 传入 |
| terrainUrl | String | 高程瓦片地址 流渲染需要是 terrain 格式的,填写 tileset.json 文件的完整 URL 路径。端渲染填写:https://abc.xyz.com/tiles/terrain-rgb/{z}/{x}/{y}.png?key={apiKey},文件格式应该是 512 x 512 的 PNG,格式是 terrain-rgb, nasadem, terrarium 之一。例如 mapbox,maptiler 或者 nasadem.xyz 的高程瓦片服务。 |
| terrainType | String | 地图的高程数据格式类别,流渲染为“terrain”或者为“”,端渲染为 "TMS"或者为“” |
| terrainToken | String | 预留字段 |
回调数据:
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述:
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
3. 更新 GIS 地图样式
引入版本:3.1 起支持
功能描述:
更新三维场景中添加 GIS 地图的样式
调用方法:
JavaScript
let jsonData = {
id: 'idObj',
mapIndex: 0,
mapLOD: 2,
visible: true,
alpha: 0.1,
};
appInstance.uniCall('updateGISMapStyle', jsonData, (result) => {
console.log(result);
});参数描述:
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 图层对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
| mapIndex | Number | 更新 map 图层数组中的编号,map 图层数组是在 addGISMap 时通过 maps 属性传入的。编号从 0 开始。如果找不到编号,或者编号超出范围,会默认更新 0 号。可以单独控制每个图层的现隐,如果全部图层的 visible 是 false,或者 apha 是 0,应该将地形全部隐藏。 |
| mapLOD | Number | 地图瓦片数据细节加载系数,表示在当前视野距离下,加载地图层级的级别系数。流渲染默认值是 2,如果想更加清晰,可以设置 1 或者 0.5 |
| visible | Boolean | 显隐控制,true:显示;false:隐藏 |
| alpha | Number | 透明度,0:完全透明;1:完全不透明 |
回调数据:
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述:
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
4. 删除 GIS 地图
引入版本:3.0 起支持
功能描述
删除 GIS 地图
调用方法
JavaScript
let jsonData = {
id: 'gisMapLayer',
overlayType: 'gisMap',
};
appInstance.uniCall('removeOverlay', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 图层对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
| overlayType | String | 图层对象类别 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |