com.supermap.navi
类 Navigation3
- java.lang.Object
-
- com.supermap.navi.Navigation3
-
public class Navigation3 extends java.lang.Object室内导航类 与行业导航类似,提供基于拓扑路网的路径分析与导引。不同之处在于,在设置起点、终点或途径点时,需要设置其位于的楼层的ID,楼层ID可以通过与地图关联的FoorListView的FloorListView.getCurrentFloorId()获取支持使用定制的路网数据进行导航,并可以编辑修改路网数据,路网数据通过室内地图数据所在数据源与室内导航模块关联;
支持模拟导航速度
支持引导路径风格设置, 包括当前显示楼层和其他楼层的路径风格;
支持自定义的GPS加密;
提供矢量地图的地图旋转功能(参考
setCarUpFront(boolean)),网络地图暂不支持。
-
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 voidaddNaviInfoListener(NaviListener listener)添加导航引导信息更新监听器voidaddWayPoint(double x, double y, java.lang.String id)设置途经点与楼层ID,需在设置起点和终点后,才能成功添加途径点voidcleanPath()清除路径分析结果voidenablePanOnGuide(boolean bPan)是否允许在引导的时候拖动地图doublegetCarAngle()获取小车角度Point2DgetCarPosition()获取小车位置booleangetCarUpFront()获取是否小车车头向上doublegetGuideEndDistance()获取结束导航时距离目的地点的长度,单位米NaviPathgetNaviPath()获取导航路径信息intgetPathID()获取小车所在道路IDintgetResultIndex()获取小车所在分析路段GeoLine[]getRoute()获得路径分析线路doublegetSpeed()获取行驶速度,单位m/sdoublegetWayPointTolerance(double tolerance)设置导航过程中途经点范围的容限值booleanisAotuReRouteEnable()获取偏航时是否自动重新规划路径booleanisDrivingModeEnable()设置是否是室内驾车模式booleanisGuiding()判断是否正在进行引导。booleanisNearestDoorMode()判断是否为最近门模式booleanisPassedRouteHidden()是否隐藏走过的路线voidlocateMap()导航中,小车在屏幕中居中显示voidpauseGuide()暂停导航voidresumeGuide()继续导航booleanrouteAnalyst()最佳路径分析voidsetAotuReRouteEnable(boolean reRoute)设置偏航时是否自动重新规划路径,默认重新规划,室内驾车模式下有效。voidsetAzimuthChangeListener(AzimuthChangeListener listener)设置方位角变化监听器voidsetCarPicture(android.graphics.Bitmap carBmp)设置小车图标voidsetCarSize(float width, float height)设置小车图标尺寸booleansetCarUpFront(boolean value)设置小车车头是否向上,设置为true时就能实现地图旋转。voidsetCurrentFloorId(java.lang.String id)设置当前显示的楼层IDvoidsetDatasource(Datasource value)设置室内地图所在的数据源。voidsetDestinationPoint(double x, double y, java.lang.String id)设置目的点与楼层IDvoidsetDeviateTolerance(double tolerance)添加导航偏移容限,单位米voidsetDrivingModeEnable(boolean drivingMode)设置是否是室内驾车模式voidsetEncryption(Encryption encryption)设置加密器voidsetFloorChangeListener(FloorChangeListener listener)添加楼层变化监听器voidsetGPSData(LocationManagePlugin.GPSData newGps)设置GPS数据voidsetGuideEndDistance(double distance)设置结束导航时距离目的地点的长度,单位米voidsetHintRouteStyle(GeoStyle value)设置其他楼层引导路径的样式voidsetIsAutoNavi(boolean isAutoNavi)设置是否自动采集GPS。voidsetIsEncryptGPS(boolean isEncryptGPS)设置是否加密GPS数据,默认加密voidsetNearestDoorMode(boolean flag)设置最近门模式,为true则在路径分析时会自动选取最近的门位置作为始/终点voidsetPassedRouteHidden(Map map, boolean isAutoHidden)设置是否隐藏走过的路线(当设置分析路径不可见时,此路径也不显示) 注意:如果要使用此接口,必须在路径分析之前调用voidsetPathVisible(boolean isVisible)设置分析路径是否可见voidsetRouteStyle(GeoStyle value)设置当前楼层引导路径的样式booleansetSimulationInterval(int interval)设置模拟导航间隔时间(单位ms)booleansetSimulationSpeed(double speed)设置模拟导航速度(单位m/s)voidsetSpeed(double speed)设置行驶速度,单位m/svoidsetStartPoint(double x, double y, java.lang.String id)设置起点与楼层IDvoidsetWayPointTolerance(double tolerance)设置导航过程中途经点范围的容限值booleanstartGuide(int mode)开始引导booleanstopGuide()停止引导
-
-
-
方法详细资料
-
getNaviPath
public NaviPath getNaviPath()
获取导航路径信息- 返回:
- 导航路径信息对象
-
startGuide
public boolean startGuide(int mode)
开始引导- 参数:
mode- 0:真实导航, 1:模拟导航 ,2:巡航 ,3:步行导航- 返回:
- 是否成功
-
getCarAngle
public double getCarAngle()
获取小车角度- 返回:
- 小车角度
-
getCarPosition
public Point2D getCarPosition()
获取小车位置- 返回:
- 小车位置
-
getPathID
public int getPathID()
获取小车所在道路ID- 返回:
- 道路ID
-
getResultIndex
public int getResultIndex()
获取小车所在分析路段- 返回:
- 分析路段
-
enablePanOnGuide
public void enablePanOnGuide(boolean bPan)
是否允许在引导的时候拖动地图- 参数:
bPan- 一个布尔值,用来指示在导航过程中是否允许平移地图,true,表示允许,false,表示不允许。
-
locateMap
public void locateMap()
导航中,小车在屏幕中居中显示
-
isGuiding
public boolean isGuiding()
判断是否正在进行引导。- 返回:
- 是否正在进行引导。
-
cleanPath
public void cleanPath()
清除路径分析结果
-
stopGuide
public boolean stopGuide()
停止引导- 返回:
- 是否成功。
-
setPathVisible
public void setPathVisible(boolean isVisible)
设置分析路径是否可见- 参数:
isVisible- 是否可见
-
setEncryption
public void setEncryption(Encryption encryption)
设置加密器- 参数:
encryption- 加密算法
-
setGPSData
public void setGPSData(LocationManagePlugin.GPSData newGps)
设置GPS数据- 参数:
newGps- GPS数据
-
setDatasource
public void setDatasource(Datasource value)
设置室内地图所在的数据源。必选- 参数:
value- 数据源
-
setStartPoint
public void setStartPoint(double x, double y, java.lang.String id)设置起点与楼层ID- 参数:
x- 起点x坐标y- 起点y坐标id- 楼层ID
-
setDestinationPoint
public void setDestinationPoint(double x, double y, java.lang.String id)设置目的点与楼层ID- 参数:
x- 终点x坐标y- 终点y坐标id- 楼层ID
-
addWayPoint
public void addWayPoint(double x, double y, java.lang.String id)设置途经点与楼层ID,需在设置起点和终点后,才能成功添加途径点- 参数:
x- 终点x坐标y- 终点y坐标id- 楼层ID
-
setCurrentFloorId
public void setCurrentFloorId(java.lang.String id)
设置当前显示的楼层ID- 参数:
id- 楼层ID
-
routeAnalyst
public boolean routeAnalyst()
最佳路径分析- 返回:
- 是否成功
-
setIsEncryptGPS
public void setIsEncryptGPS(boolean isEncryptGPS)
设置是否加密GPS数据,默认加密- 参数:
isEncryptGPS- 是否加密GPS数据
-
setCarPicture
public void setCarPicture(android.graphics.Bitmap carBmp)
设置小车图标- 参数:
carBmp- 图标bitMap
-
setFloorChangeListener
public void setFloorChangeListener(FloorChangeListener listener)
添加楼层变化监听器- 参数:
listener- 楼层变化监听器
-
setAzimuthChangeListener
public void setAzimuthChangeListener(AzimuthChangeListener listener)
设置方位角变化监听器- 参数:
listener- 方位角变化监听器
-
setIsAutoNavi
public void setIsAutoNavi(boolean isAutoNavi)
设置是否自动采集GPS。默认自动采集- 参数:
isAutoNavi- 是否自动采集GPS
-
setCarSize
public void setCarSize(float width, float height)设置小车图标尺寸- 参数:
width- 宽度height- 高度
-
setCarUpFront
public boolean setCarUpFront(boolean value)
设置小车车头是否向上,设置为true时就能实现地图旋转。要使用地图旋转还需要提前开启整屏绘制功能,即使用
Map.setFullScreenDrawModel(boolean), 然后再设置为车头向上,实现地图旋转。目前地图旋转仅支持矢量地图的旋转,而网络地图不能旋转。
当地图为网络地图时,设置参数value=true,返回false,并会输出相应的日志信息; 当地图为矢量地图时,设置参数value=true,返回true; 设置参数value=false,总数返回成功,此时导航中地图不会旋转
使用示范如下:
map.open(mapName); // 打开地图 map.setFullScreenDrawModel(true); // 设置整屏绘制 navigation.setCarUpFront(true); // 设置车头向上,如果通过导航界面中的指南针按钮实现地图旋转,则可以不调用这一句,仅使用上一句即可- 参数:
value- 为true时,小车车头朝上;为false时,小车车头与行进的道路 一致- 返回:
- 是否设置成功
-
getCarUpFront
public boolean getCarUpFront()
获取是否小车车头向上- 返回:
- 是否小车车头向上
-
setRouteStyle
public void setRouteStyle(GeoStyle value)
设置当前楼层引导路径的样式- 参数:
value- 引导路径的样式
-
setHintRouteStyle
public void setHintRouteStyle(GeoStyle value)
设置其他楼层引导路径的样式- 参数:
value- 引导路径的样式
-
addNaviInfoListener
public void addNaviInfoListener(NaviListener listener)
添加导航引导信息更新监听器- 参数:
listener- 引导信息更新监听器
-
resumeGuide
public void resumeGuide()
继续导航
-
pauseGuide
public void pauseGuide()
暂停导航
-
setSimulationSpeed
public boolean setSimulationSpeed(double speed)
设置模拟导航速度(单位m/s)- 参数:
speed- 导航速度- 返回:
- 是否设置成功
-
setSimulationInterval
public boolean setSimulationInterval(int interval)
设置模拟导航间隔时间(单位ms)- 参数:
interval- 导航间隔时间- 返回:
- 是否设置成功
-
setDeviateTolerance
public void setDeviateTolerance(double tolerance)
添加导航偏移容限,单位米- 参数:
tolerance- 偏移容限
-
getSpeed
public double getSpeed()
获取行驶速度,单位m/s- 返回:
- 行驶速度
-
setSpeed
public void setSpeed(double speed)
设置行驶速度,单位m/s- 参数:
speed- 行驶速度
-
getRoute
public GeoLine[] getRoute()
获得路径分析线路- 返回:
- 分析线路
-
setPassedRouteHidden
public void setPassedRouteHidden(Map map, boolean isAutoHidden)
设置是否隐藏走过的路线(当设置分析路径不可见时,此路径也不显示) 注意:如果要使用此接口,必须在路径分析之前调用- 参数:
map- map对象isAutoHidden- 是否隐藏
-
isPassedRouteHidden
public boolean isPassedRouteHidden()
是否隐藏走过的路线- 返回:
- 是否隐藏
-
setGuideEndDistance
public void setGuideEndDistance(double distance)
设置结束导航时距离目的地点的长度,单位米- 参数:
distance- 结束导航时距离目的地点的长度
-
getGuideEndDistance
public double getGuideEndDistance()
获取结束导航时距离目的地点的长度,单位米- 返回:
- 结束导航时距离目的地点的长度
-
setWayPointTolerance
public void setWayPointTolerance(double tolerance)
设置导航过程中途经点范围的容限值- 参数:
tolerance- 途经点范围
-
getWayPointTolerance
public double getWayPointTolerance(double tolerance)
设置导航过程中途经点范围的容限值- 参数:
tolerance- 途经点范围- 返回:
- 容限值
-
setDrivingModeEnable
public void setDrivingModeEnable(boolean drivingMode)
设置是否是室内驾车模式- 参数:
drivingMode- 默认为false
-
isDrivingModeEnable
public boolean isDrivingModeEnable()
设置是否是室内驾车模式- 返回:
- true为室内驾车模式
-
setAotuReRouteEnable
public void setAotuReRouteEnable(boolean reRoute)
设置偏航时是否自动重新规划路径,默认重新规划,室内驾车模式下有效。- 参数:
reRoute- true为自动重新规划路径,false为偏航时不自动重新规划
-
isAotuReRouteEnable
public boolean isAotuReRouteEnable()
获取偏航时是否自动重新规划路径- 返回:
- true为自动重新规划路径,false为偏航时不自动重新规划
-
setNearestDoorMode
public void setNearestDoorMode(boolean flag)
设置最近门模式,为true则在路径分析时会自动选取最近的门位置作为始/终点- 参数:
flag-
-
isNearestDoorMode
public boolean isNearestDoorMode()
判断是否为最近门模式- 返回:
- 是否为最近门模式
-
-