更新时间:2024-03-05 GMT+08:00
分享

导航

导航需要使用到的接口如表1所示。

表1 导航接口列表

接口

描述

参数名

参数类型

参数说明

返回值

searchPoi

POI智能搜索。

searchData

{

floor?: string;

address?: string;

title?: string;

tag?: string;

pageNum?: number;

pageSize?: number;

}

搜索信息。

  • floor:楼层,例如1F,2F,B1。
  • address:局点名称。
  • title:目标POI名称的关键字。
  • tag:目标POI的标签。
  • pageNum:当前页码,从0开始。
  • pageSize:每页POI数量。

Promise<{

count: number;

nextStartIndex: number;

total: number;

list: PoiInfo[];

}>

返回信息列表,list包含POI名称、坐标、缩略图等信息。

PoiInfo: {

arMapInfo: any;

poi: any;

poiContent: any;

}

getPoiImgUrl

获取可直接使用的POI缩略图的url。

url

string

searchPoi接口返回的POI缩略图的url。

Promise<any>

返回可直接使用的POI缩略图的url。

requestNavi

请求导航。

路径点的状态分别表示:"未知"、"直行"、 "左转"、"左前方"、"左后方"、"右转"、"右前方"、"右后方"、"电梯"、"结束"、"扶梯"以及"楼梯"。

strUtmCode

string

UTM投影带号。

例如:50N、49N

Promise<{

listNavi: INaviPoint[];

policyMsg: string;

policy: number;

}>

INaviPoint: {

x: number;

y: number;

z: number;

floor: string;

building: string;

status: number;

}

listFrom

number[]

起始点的UTM坐标[x, y, z]。

listTo

number[]

终点的UTM坐标[x, y, z]。

strNaviPolicy

number

路线选择策略。

  • 1:最短距离
  • 2:电梯优先
  • 3:扶梯优先
  • -2:不走电梯
  • -3:不走扶梯

isUseManyNaviPolicy

判断是否使用多路径规划配置值。

-

-

-

boolean

onReachFloor

导航出电梯后到达指定楼层;调用此方法通知启动AR。

floor

number

楼层索引,可以从导航路径中获取。

void

onReachElevator

导航到达电梯。

因为到达电梯需要暂停AR以降低功耗。

-

-

-

void

getAngle

获取陀螺仪的alpha角。

围绕z轴(z轴垂直于屏幕表面,远离屏幕的方向为正)旋转设备将使alpha角度值发生变化。alpha为 360°时表示设备的顶部正指北极方向。

-

-

-

number

接口调用示例

// POI智能搜索
hwar.searchPoi({
    "floor": "1F",
    "address": "xxx",
    "title": "xxx",
    "pageNum": 0,
    "pageSize": 50
}).then((res) => { 
    //POI信息列表
});

// 获取可直接使用的POI缩略图的url
hwar.getPoiImgUrl("xxx").then((res) =>{ });

// 请求导航
hwar.requestNavi("xxx", [xxx, xxx, xxx], [xxx, xxx, xxx], 1).then((res) =>{ });

// 判断是否使用多路径规划配置值
hwar.isUseManyNaviPolicy();

// 导航出电梯后到达指定楼层
hwar.onReachFloor(xxx);

// 导航到达电梯
hwar.onReachElevator();

// 获取陀螺仪的alpha角
hwar.getAngle();

相关文档