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