更新时间:2023-05-08 GMT+08:00
开发指导
开发过程
- 搜索POI。
// 创建获取POI的异步任务栈 var mPOICloud = new HTPOICloud(); // 将生命周期绑定到unity的生命周期 mPOICloud.Create("NAVIPOI"); // 参数设置的是线程名 mPOICloud.Start(); mPOICloud.Stop(); mPOICloud.Destroy(); // 设置系统的基本参数 mPOICloud.SetParams(HTSystemManager.GetHTSystem().GetAppConfig(), HTSystemManager.GetHTSystem().GetAppEnv(), hostUrl); // 设置成功失败的回调监听 mPOICloud.AddListListener(SelecteDestination); mPOICloud.AddErrorListener(OnPoiError); // 根据gps获取附近的POI double lon = HTSystemManager.GetHTSystem().GetSniffer().GetGpsLocation().mLongitude; double lat = HTSystemManager.GetHTSystem().GetSniffer().GetGpsLocation().mLatitude; mPOICloud.GetDataList(lon, lat);
- 选定终点。
HTNaviManager会自动管理HTNaviSession中导航功能的生命周期,被默认挂载在预制体当中,使用时可以直接通过HTNaviSession的mNavi来调用各种方法。
// 导航终点坐标是虚拟世界坐标,可以直接带入POI上返回的坐标 mNaviSession.mNavi.SetDestination(447763.6348, 4418530.1394, 37.979218);
- 发起导航。
mNaviSession.mNavi.StartNavi();
- 回调监听。
// 导航实时信息监听 mNaviSession.mNaviInfoListener = OnNaviInfoStatus; // 导航失败信息监听 mNaviSession.mNaviErrorListener = OnNaviError; // 进入电梯信息监听 mNaviSession.mNaviElevatorListener = OnNaviElevator; // 方向引导信息监听 mNaviSession.mNaviDirectionListener = OnNaviDirection; // 偏移量信息监听 mNaviSession.mNaviYawListener = ShowYaw;
您可在Unity新建工程的 中找到HTNaviCtro.cs并查看参考实例。
父主题: AR导航