图观
图层对象类别枚举(overlayType)
值 | 类型 | 备注 |
---|---|---|
landmark | String | 地标点 |
path | String | 路径 |
area | String | 区域轮廓 |
circularArea | String | 圆形轮廓 |
3DTile | String | 3DTile 倾斜摄影 |
gisMap | String | TMS 瓦片 |
landmarkLayer | String | 地标图 |
3DColumnLayer | String | 三维柱状图 |
3DGridLayer | String | 栅格图 |
heatMapLayer | String | 热力图 |
starLightLayer | String | 星光图 |
bubbleLayer | String | 气泡图 |
eventLayer | String | 事件图 |
trailLayer | String | 轨迹图 |
trackLayer | String | 点迹图 |
ODLineLayer | String | 关系图 |
typeAreaLayer | String | 类型区域图 |
colorAreaLayer | String | 数值区域图 |
roadPtHeatLayer | String | 路径点热力图 |
roadSgHeatLayer | String | 路径段热力图 |
3DMarker | String | 特效对象 |
modelTrailLayer | String | 模型轨迹图 |
modelLandmarkLayer | String | 模型地标图 |
3DMarkerLandmarkLayer | String | 特效地标图 |
aggLandmarkLayer | String | 聚簇地标图 |
aggBubbleLayer | String | 聚簇气泡图 |
aggEventBublleLayer | String | 聚簇事件图 |
aggHeatMapLayer | String | 聚簇热力图 |
agg3DColumnLayer | String | 聚簇三维柱状图 |
agg3DGridLayer | String | 聚簇栅格图 |
点击获取屏幕信息
this.appInstance.uniCall("addEventListener", {
eventName: "onSceneClick",
callback: (res) => {
console.log(res);
},
});
调用结果:
鼠标左键点击地标图的回调
ps:点击图层还是模型的回调都类似,只需要注意overlayType的值
appInstance.uniCall("pickOverlay", {
overlayType: "landmarkLayer", // 图层对象类别
idLayer: "", // 如果具体想限定图层对象,则填写图层对象 id,如不限制,可不填
type: "click", // 单选模式,click:点击选中;hover:悬停选中
isShowDecorator: false, // 表示是否显示选中的高亮装饰符,true:显示,false:不显示,默认:true
});
appInstance.uniCall("onLandmarkLayerClick", {}, (res) => {
console.log(res)
})
点击地标图的回调结果:
回调数据参数描述:
属性 | 类型 | 说明 |
---|---|---|
idObj | String | 地标图层对象 id |
idLayer | String | 地标图层 id |
type | String | 地标点图例类别名称 |
label | String | 图标标签文本 |
selected | Boolean | 地标点对象当前选中状态 |
图层的初始化渲染(端渲染)
第一步:确定自己的需要获取图层的标识
第二步:获取token,携带token进行请求
async function onBodyLoaded() {
// 定义URL模版
let sceneUrl = `https://www.tuguan.net/publish/scene/api/qy9c5bzk`;
let tokenUrl = `https://www.tuguan.net/api/user/v1/visitorScene/qy9c5bzk`;
const { accessToken } = await post(tokenUrl);
cameraPolling.loadScene(sceneUrl, accessToken);
}
loadScene(url, token) {
this.appInstance.initService(
{
container: document.getElementById("container"),
mode: "scene",
url: url,
token: token,
resourceBasePath: "https://www.tuguan.net/public/tgapp/scene", // 在线引用的资源地址,如果是流渲染可以不写
},
(e) => {
console.log(e);
// 隐藏正在加载界面
}
);
}
以后所有图观代码的执行都必须在初始化完成后才能执行
appInstance.uniCall(
"addEventListener",
{
eventName: "onServiceInit",
callback: function (event) {
cameraPolling.addLayerMarker();
prewLoadService.addPoints();
clickLandMark.addClickModelTips();
},
},
(result) => {}
);