java室内导航_室内地图Android SDK定位导航 - 蜂鸟云

定位导航

Fengmap Andriod SDK 结合定位技术,可实现导航的功能。SDK提供导航工具类,使导航开发变得很简单,开发者可根据本章节结合实际定位系统,实现定位导航功能。

初始化导航对象

在onMapInitSuccess回调后,初始化导航类对象,在FMNaviOption对象中可以设置导航相关配置属性。示例代码如下:

添加起终点

导航开始前需要设置起终点,起终点两部分构成:坐标信息(FMGeoCoord)和标注物信息(FMPointOption)。FMGeoCoord设置坐标和楼层ID,FMPointOption配置标注物属性,比如:图片,尺寸,高度等。示例如下:

绘制导航线

由起点到终点坐标进行导航分析,并绘制导航线。

通过FMLineOption来配置导航线属性,比如:线的宽度、颜色、类型等,使用 FMNavigation# setLineOption方法来设置。

通过FMNaviLineOption来配置走过的导航线属性,比如:线的宽度、颜色、类型等,使用 FMNavigation# setLineOption方法来设置。默认与FMLineOption样式一致,除颜色为灰色。

路径规划和绘制导线的参考代码如下:

设置导航监听

在真实导航中,接收一次定位位置需要调用FMActualNavigation.locate来触发该回调,返回该位置相应的导航信息FMNavigationInfo,导航信息中包含了此时的剩余距离,路段描述,真实位置点的偏离距离,约束过的位置,位置点方向等。开发者使用这些信息,来展示行进过程中的提示信息,还可以根据偏移距离完成路径重新规划的功能。与真实导航不同的是,模拟导航没有locate方法,只要在开始模拟前设置了导航监听,模拟过程中就会不断触发该回调,直至导航结束。

设置导航监听对象,示例代码如下:

添加定位标注物

定位标注物用于展示导航过程中的位置与方向,添加方法如下:

导航对象的生命周期

导航对象的生命周期是:开始(模拟导航为:simulate,真实导航为: start),暂停,恢复,停止。当导航对象调用了clear方法后,则代表清除了此次导航的所有数据。当导航对象调用了release方法,则底层会释放对象,对象变为不可用,只能重新创建。

真实导航对象接入定位

真实导航对象与模拟导航对象不同之处是需要接入真实定位位置。一般接入的定位系统,会提供一个实时获取当前位置的接口,假如是一个位置回调onLocate(int groupId, double x, double y, float angle),该回调出的数据分别是:楼层id,x坐标,y坐标,方向角度。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值