Skip to content

模型地标图操作 ​

目录 ​

1. 添加模型地标图 ​

引入版本:3.3 起支持

功能描述 ​

在三维场景中添加模型地标图

调用方法 ​

JavaScript
let jsonData = {
  id: 'modelLayerId', // 模型对象图层 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别
  coordType: 0, // XY 轴坐标类别,0:X 经度,Y 纬度;1:X 米,Y米,相对世界00点
  coordTypeZ: 0, // Z 轴坐标类别,0:相对 3D 世界 0 海拔;1:相对 3D 世界地表;2:相对 3D 模型表面(单位:米)
  snapSurface: 1, // 启用自动贴地。0:不贴地;1:贴地
  alpha: 1, // 透明度,0:完全透明;1:完全不透明
  modelMaxDistance: 15000, // 模型最大可见距离(单位:米),不可见后显示icon
  iconMaxDistance: 100000, // icon最大可见距离(单位:米),不可见后隐藏
  modelLandmarkDataId: '', // 对应本服务器上modelLandmark数据Id,如果找到id,则下方的data不起作用
  isReferenceType: false, // 模型是引用类型还是复制类型,引用类型的对象占用更少的显存和绘制调用次数,但是端渲染无法自定义修改材质和粒子效果,且不支持设置单个实例的透明度,流渲染不支持关节和动画。默认是复制类型。false: 复制类型,true: 引用类型。
  visible: true, // 添加当前图层时默认显示还是隐藏
  tags: ["tag1", "tag2", "tag3"],	// 用户自定标签数组,用于保存用户的扩展数据,或者可以控制显隐
  modelSource: "local"	// 模型类型的位置,"local":场景内,"localFile":场景目录里customModel,"localServer":流渲染服务器资产目录,“dataServer”:场景数据服务器资产(需要先使用connectDataServer成功连接到场景数据服务器)
  legends: [
    // 定义图层包含图例,支持为不同图例定义各自样式
    {
      name: 'legendName1', // 图层内图例名称,新建时调用者自己传入的唯一名称,用于各种操作的图例识别
      modelType: 'Car01', // 模型类型
      scale: 1, // 整体放缩倍数(单位:倍)
      iconName: 'car', // 内置图标名称,或根据项目,在场景中预置好的图标对象的名称,包含文字样式定义,具体图标名称参考下表和下图
      labelColor: '#ff0000', // 标签文本颜色,可选值,默认白色labelScale: 1,	// 标签文本的缩放,默认值是1表示原大,0 - 1:表示缩小倍率,大于1:表示放大倍率
      labelScale: 1, // 标签文本的缩放,默认值是1表示原大,0 - 1:表示缩小倍率,大于1:表示放大倍率
      labelOffset: [0, 0, 2], // 标签文本的位置偏移,默认值是[0, 0, 0],表示相对于模型中心点的x、y、z偏移位置(单位:米)
      labelBackgroundColor: '#333333', // 标签文本背景颜色,可选值,默认灰色
    },
    {
      name: 'legendName2', // 图层内图例名称,新建时调用者自己传入的唯一名称,用于各种操作的图例识别
      modelType: 'Car01', // 模型类型
      scale: 1, // 整体放缩倍数(单位:倍)
      iconName: 'car', // 内置图标名称,或根据项目,在场景中预置好的图标对象的名称,包含文字样式定义,具体图标名称参考下表和下图
      labelColor: '#ff0000', // 标签文本颜色,可选值,默认白色labelScale: 1,	// 标签文本的缩放,默认值是1表示原大,0 - 1:表示缩小倍率,大于1:表示放大倍率
      labelScale: 1, // 标签文本的缩放,默认值是1表示原大,0 - 1:表示缩小倍率,大于1:表示放大倍率
      labelOffset: [0, 0, 2], // 标签文本的位置偏移,默认值是[0, 0, 0],表示相对于模型中心点的x、y、z偏移位置(单位:米)
      labelBackgroundColor: '#333333', // 标签文本背景颜色,可选值,默认灰色
    },
  ],
  data: [
    // 定义图层可视化数据
    {
      id: '1', // 模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别
      label: '小汽车', // 标签文本
      coord: [-0.003855447482493446, 0.01919848867521523], // XY 轴坐标,X:经度;Y:纬度
      coordZ: 100, // Z 轴高度(单位:米)
      rotation: [0, 0, 0], // XYZ 三轴旋转度数 [偏航角(单位:角度,0正北, -360-360), 俯仰角(单位:角度,0水平, -360-360),翻滚角(单位:角度,0水平, -360-360)]
      type: 'legendName1', // 模型图例类别
    },
  ],
};

appInstance.uniCall('addModelLandmarkLayer', jsonData, (result) => {
  console.log(result);
});

参数描述 ​

属性类型说明端渲染流渲染
idString图层对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别支持支持
coordTypeNumberXY 轴坐标类别,0:X 经度,Y 纬度;1:X 米,Y 米,相对世界 00 点支持支持
coordTypeZNumberZ 轴坐标类别,0:相对 3D 世界 0 海拔;1:相对 3D 世界地表;2:相对 3D 模型表面(单位:米)支持支持
snapSurfaceNumber启用自动贴地。0:不贴地;1:贴地支持支持
alphaNumber透明度,0:完全透明;1:完全不透明支持支持
modelMaxDistanceNumber模型最大可见距离(单位:米),不可见后显示 icon支持支持
iconMaxDistanceNumbericon 最大可见距离(单位:米),不可见后隐藏支持支持
modelLandmarkDataIdString对应本服务器上 modelLandmark 数据 Id,如果找到 id,则下方的 data 不起作用支持支持
visibleBoolean添加当前图层时默认显示还是隐藏支持支持
tagsArray用户自定标签数组,用于保存用户的扩展数据,或者可以控制显隐不支持支持
modelSourceString模型类型的位置,"local":场景内,"localFile":场景目录里 customModel,"localServer":流渲染服务器资产目录,“dataServer”:场景数据服务器资产(需要先使用 connectDataServer 成功连接到场景数据服务器)支持支持
isReferenceTypeBoolean模型是引用类型还是复制类型,引用类型的对象占用更少的显存和绘制调用次数,但是端渲染无法自定义修改材质和粒子效果,且不支持设置单个实例的透明度,流渲染不支持关节和动画。默认是引用类型。false: 复制类型,true: 引用类型。支持不支持
legendsArray定义图层包含图例,支持为不同图例定义各自样式支持支持
legends[0].nameString图层内图例名称,新建时调用者自己传入的唯一名称,用于各种操作的图例识别支持支持
legends[0].modelTypeStringmodel(模型),building(建筑物),connection(关系线),iconModel(模型型号)支持支持
legends[0].scaleNumber整体放缩倍数(单位:倍)支持支持
legends[0].iconNameString内置图标名称,或根据项目,在场景中预置好的图标对象的名称,包含文字样式定义,具体图标名称参考下表和下图支持支持
legends[0].labelColorString标签文本颜色,可选值,默认白色支持支持
legends[0].labelScaleString标签文本的缩放,默认值是 1 表示原大,0 - 1:表示缩小倍率,大于 1:表示放大倍率支持不支持
legends[0].labelOffsetString标签文本的位置偏移,默认值是[0, 0, 0],表示相对于模型中心点的 x、y、z 偏移位置(单位:米)支持不支持
legends[0].labelBackgroundColorString标签文本背景颜色,可选值,默认灰色支持支持
dataArray定义图层可视化数据支持支持
data[0].idString图层子对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别支持支持
data[0].labelString标签文本支持支持
data[0].coordArrayXY 轴坐标,X:经度;Y:纬度支持支持
data[0].coordZNumberZ 轴高度(单位:米)支持支持
data[0].rotationArray[Yaw、Pitch、Roll]  Yaw 偏航(单位:角度,正南为 0 度,以天为正方向的左手法则, 值域:-360 到 360),Pitch 俯仰角(单位:角度,水平面模型前进方向为 0 度,前进方向左侧的左手法则, 值域:-360 到 360),Roll 翻滚角(单位:角度,水平面模型前进方向右侧为 0 度,模型前进方向的左手法则, 值域:-360 到 360)支持支持
data[0].typeString模型图例类别支持支持

回调数据 ​

JSON
{
  "result": 1,
  "message": "成功。"
}

回调数据参数描述 ​

属性类型说明
resultNumber1:代表成功;0:代表失败
messageString成功或者失败原因

具体内置图标名称(iconName)详情 ​

图标类型图标名称
市政设施camera
streetlamp
manholecover
sensor
utilitypole
transmission
broadcast
wifi
firehydrant
equipmentbox
trafficlight
charge
gasstation
wc
dustbin
地点建筑trainstation
airport
anchor
government
netpoint
metro
finance
school
hospital
factory
constructionsite
residence
mergencyshelter
park
diningroom
warehouse
store
tollgate
officebuilding
busstation
人员people
policeman
doctor
specialpeople
criminal
交通car
policecar
fireengine
ambulance
taxi
truck
bus
newscar
militarycar
municipal
electriccar
watercar
train
ship
cargoship
飞行器airplane
helicopter
uav
satellite
rocket
事件event_01
event_03
event_03
通用icon_01
icon_02
icon_03
icon_04
地名site_01
site_02
site_03

具体内置图标名称(iconName)效果 ​

图标效果

返回本章目录

2. 更新模型地标图数据 ​

引入版本:3.3 起支持

功能描述 ​

更新三维场景中添加模型地标图的数据

调用方法 ​

JavaScript
let jsonData = {
  id: 'modelLayerId', // 模型对象图层 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别
  coordType: 0, // XY 轴坐标类别,0:X 经度,Y 纬度;1:X 米,Y米,相对世界00点
  coordTypeZ: 0, // Z 轴坐标类别,0:相对 3D 世界 0 海拔;1:相对 3D 世界地表;2:相对 3D 模型表面(单位:米)
  tags: ['tag1', 'tag2', 'tag3'], // 用户自定标签数组,用于保存用户的扩展数据,或者可以控制显隐
  data: [
    // 定义图层可视化数据
    {
      id: '1', // 模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别
      label: '大汽车1', // 标签文本
      coord: [-0.003855447482493446, 0.01919848867521523], // XY 轴坐标,X:经度;Y:纬度
      coordZ: 500, // Z 轴高度(单位:米)
      rotation: [0, 0, 0], // XYZ 三轴旋转度数 [偏航角(单位:角度,0正北, -360-360), 俯仰角(单位:角度,0水平, -360-360),翻滚角(单位:角度,0水平, -360-360)]
      type: 'legendName1', // 模型图例类别
    },
    {
      id: '2', // 模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别
      label: '大汽车2', // 标签文本
      coord: [-0.00685544748249356, 0.01719848867521634], // XY 轴坐标,X:经度;Y:纬度
      coordZ: 500, // Z 轴高度(单位:米)
      rotation: [0, 0, 0], // XYZ 三轴旋转度数 [偏航角(单位:角度,0正北, -360-360), 俯仰角(单位:角度,0水平, -360-360),翻滚角(单位:角度,0水平, -360-360)]
      type: 'legendName2', // 模型图例类别
    },
  ],
};

appInstance.uniCall('updateModelLandmarkLayerCoord', jsonData, (result) => {
  console.log(result);
});

参数描述 ​

属性类型说明端渲染流渲染
idString图层对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别支持支持
nameString图层名称,支持为图层自定义名称支持支持
coordTypeNumberXY 轴坐标类别,0:X 经度,Y 纬度;1:X 米,Y 米,相对世界 00 点支持支持
coordTypeZNumberZ 轴坐标类别,0:相对 3D 世界 0 海拔;1:相对 3D 世界地表;2:相对 3D 模型表面(单位:米)支持支持
isAppendBoolean是否追加数据(按数据顺序),true:按新数据 更新原有重复数据 & 追加新数据;false:清除原有数据 & 重建新数据支持支持
durationNumber从上一位置运动到新位置花费的时间(单位:秒),如果启用 modelTrailData 数据服务,同时表示同步数据的时间周期支持支持
tagsArray用户自定标签数组,用于保存用户的扩展数据,或者可以控制显隐不支持支持
dataArray定义图层可视化数据支持支持
data[0].idString图层子对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别支持支持
data[0].coordArrayXY 轴坐标,X:经度;Y:纬度支持支持
data[0].coordZNumberZ 轴高度(单位:米)支持支持
data[0].labelString标签文本支持支持
data[0].rotationArray[Yaw、Pitch、Roll] Yaw 偏航(单位:角度,正南为 0 度,以天为正方向的左手法则, 值域:-360 到 360),Pitch 俯仰角(单位:角度,水平面模型前进方向为 0 度,前进方向左侧的左手法则, 值域:-360 到 360),Roll 翻滚角(单位:角度,水平面模型前进方向右侧为 0 度,模型前进方向的左手法则, 值域:-360 到 360)支持支持
data[0].typeString数据点图例类别支持支持

回调数据 ​

JSON
{
  "result": 1,
  "message": "成功。"
}

回调数据参数描述 ​

属性类型说明
resultNumber1:代表成功;0:代表失败
messageString成功或者失败原因

返回本章目录

3. 更新模型地标图样式 ​

引入版本:3.3 起支持

功能描述 ​

更新三维场景中添加模型地标图的样式

调用方法 ​

JavaScript
let jsonData = {
  id: 'modelLayerId', // 模型对象图层 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别
  alpha: 1, // 透明度,0:完全透明;1:完全不透明
  modelMaxDistance: 15000, // 模型最大可见距离(单位:米),不可见后显示icon
  iconMaxDistance: 100000, // icon最大可见距离(单位:米),不可见后隐藏
  modelSource: "local"	// 模型类型的位置,"local":场景内,"localFile":场景目录里customModel,"localServer":流渲染服务器资产目录,“dataServer”:场景数据服务器资产(需要先使用connectDataServer成功连接到场景数据服务器)
  legends: [
    // 定义图层包含图例,支持为不同图例定义各自样式
    {
      name: 'legendName1', // 图层内图例名称,新建时调用者自己传入的唯一名称,用于各种操作的图例识别
      modelType: 'Car03', // 模型类型
      scale: 1, // 整体放缩倍数(单位:倍)
      iconName: 'camera', // 内置图标名称,或根据项目,在场景中预置好的图标对象的名称,包含文字样式定义,具体图标名称参考上表和上图
      labelColor: '#000000', // 标签文本颜色,可选值,默认白色labelScale: 1,	// 标签文本的缩放,默认值是1表示原大,0 - 1:表示缩小倍率,大于1:表示放大倍率
      labelOffset: [0, 0, 2], // 标签文本的位置偏移,默认值是[0, 0, 0],表示相对于模型中心点的x、y、z偏移位置(单位:米)
      labelBackgroundColor: '#ffff00', // 标签文本背景颜色,可选值,默认灰色
    },
  ],
};

appInstance.uniCall('updateModelLandmarkLayerStyle', jsonData, (result) => {
  console.log(result);
});
参数描述 ​
属性类型说明端渲染流渲染
idString图层对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别支持支持
alphaNumber批号消批时间长度支持支持
modelMaxDistanceNumber模型最大可见距离(单位:米),不可见后显示 icon支持支持
iconMaxDistanceNumbericon 最大可见距离(单位:米),不可见后隐藏支持支持
modelSourceString模型类型的位置,"local":场景内,"localFile":场景目录里 customModel,"localServer":流渲染服务器资产目录,“dataServer”:场景数据服务器资产(需要先使用 connectDataServer 成功连接到场景数据服务器)支持支持
legendsArray定义图层包含图例,支持为不同图例定义各自样式支持支持
legends[0].nameString图层内图例名称,新建时调用者自己传入的唯一名称,用于各种操作的图例识别支持支持
legends[0].modelTypeStringmodel(模型),building(建筑物),connection(关系线),iconModel(模型型号)支持支持
legends[0].scaleNumber整体放缩倍数(单位:倍)支持支持
legends[0].iconNameString内置图标名称,或根据项目,在场景中预置好的图标对象的名称,包含文字样式定义,具体图标名称参考上表和上图支持支持
legends[0].labelColorString标签文本颜色,可选值,默认白色支持支持
legends[0].labelScaleString标签文本的缩放,默认值是 1 表示原大,0 - 1:表示缩小倍率,大于 1:表示放大倍率支持不支持
legends[0].labelOffsetString标签文本的位置偏移,默认值是[0, 0, 0],表示相对于模型中心点的 x、y、z 偏移位置(单位:米)支持不支持
legends[0].labelBackgroundColorString标签文本背景颜色,可选值,默认灰色支持支持

回调数据 ​

JSON
{
  "result": 1,
  "message": "成功。"
}

回调数据参数描述 ​

属性类型说明
resultNumber1:代表成功;0:代表失败
messageString成功或者失败原因

返回本章目录

4. 删除模型地标图 ​

引入版本:3.0 起支持

功能描述 ​

删除模型地标图

调用方法 ​

JavaScript
let jsonData = {
  id: 'modelLayerId', // 图层对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别
  overlayType: 'modelLandmarkLayer', // 图层对象类别
};

appInstance.uniCall('removeOverlay', jsonData, (result) => {
  console.log(result);
});

参数描述 ​

属性类型说明
idString图层对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别
overlayTypeString图层对象类别

回调数据 ​

JSON
{
  "result": 1,
  "message": "成功。"
}

回调数据参数描述 ​

属性类型说明
resultNumber1:代表成功;0:代表失败
messageString成功或者失败原因

流渲染效果图 ​

系统架构图

端渲染效果图 ​

系统架构图

返回本章目录