public class Navigation
extends java.lang.Object
引导中提供引导信息的显示以及相关语音提示。
导航中矢量地图旋转(参考setCarUpFront(boolean)
}),不支持网络地图旋转
注意:在启动引导后,外部传入GPS/BD等定位信息。
限定符和类型 | 类和说明 |
---|---|
static class |
Navigation.SpeechParam
导航中引导信息播报控制参数类,用于设置是否播报相关提示,如道路方向,距离等.
|
限定符和类型 | 方法和说明 |
---|---|
boolean |
addBarrierBound(double left, double bottom, double right, double top)
添加障碍区域,障碍区域只能是矩形的,通过该矩形区域上下左右的边界坐标值(经纬度坐标值)来确定障碍区域
|
boolean |
addBarrierPoint(double x, double y)
添加障碍点
|
void |
addNaviInfoListener(NaviListener listener)
添加导航引导信息更新监听器
|
boolean |
addWayPoint(double x, double y)
添加途经点
|
void |
cleanPath()
清除路径分析结果。
|
boolean |
clearBarrierBound()
清除障碍区域
|
boolean |
clearBarrierPoints()
清除所有障碍点
|
boolean |
connectNaviData(java.lang.String DataPath)
链接导航数据,包括路径分析数据和引导数据。
|
void |
enablePanOnGuide(boolean bPan)
引导过程中是否允许平移地图。
|
int |
getAdjust()
获取定位车辆位置与路网匹配状态
|
double |
getCarAngle()
获取车辆行驶角度。
|
Point2D |
getCarPosition()
获取车辆当前位置。
|
boolean |
getCarUpFront()
获取是否小车车头向上
|
java.lang.String |
getCurRoadName()
获取当前道路名称
|
double |
getDisToDestination()
获取当前位置到目的地距离
|
double |
getDisToSwerve()
获取当前位置到下一路口距离
|
int |
getNaviAction()
获取导航主动作
|
NaviPath |
getNaviPath()
|
java.lang.String |
getNextRoadName()
获取下一道路名称
|
int |
getPathRoadLevel()
获取导航时当前道路等级
|
GeoLine |
getRoute()
获得路径分析线路。
|
int |
getSecondaryAction()
获取导航副动作
|
int |
getTimeToDestination(double speed)
获取导航剩余时间
|
boolean |
isGuiding()
当前是否在引导过程中。
|
void |
locateMap()
导航中,将小车位置作为地图中心。
|
void |
pauseGuide()
暂停导航
|
void |
resumeGuide()
继续导航
|
int |
routeAnalyst(int mode)
执行路径分析。
|
boolean |
setCarUpFront(boolean value)
设置小车车头是否向上,设置为true时就能实现地图旋转。
|
void |
setDestinationPoint(double x, double y)
设置路径规划的终点。
|
void |
setEncryption(Encryption encryption)
设置加密器
|
void |
setGPSData(LocationManagePlugin.GPSData newGps)
设置GPS数据。
|
void |
setPathVisible(boolean isVisible)
设置是否高亮显示规划出的路线。
|
void |
setRouteStyle(GeoStyle value)
设置引导路径的风格
|
boolean |
setSimulationInterval(int interval)
设置模拟导航间隔时间(单位ms)
|
boolean |
setSimulationSpeed(double speed)
设置模拟导航速度,使小车按照设定速度行驶(单位m/s)
|
boolean |
setSpeechParam(Navigation.SpeechParam speechparam)
设置导航指引信息控制,用于控制导航中是否播报引导信息
|
void |
setStartPoint(double x, double y)
设置路径规划的起点。
|
boolean |
setViewSize(int width, int height)
根据屏幕设置导航过程中引导信息布局,以适应横竖屏切换。
|
boolean |
startGuide(int status)
开始导航。
|
boolean |
stopGuide()
停止引导。
|
public void setStartPoint(double x, double y)
x
- 起点经度坐标(度)。y
- 起点纬度坐标(度)。public void setDestinationPoint(double x, double y)
x
- 终点经度坐标(度)。y
- 终点纬度坐标(度)。public int routeAnalyst(int mode)
路径分析模式的值为[0,1,2,3],其分别表示推荐模式、时间最快模式、距离最短模式、和最少收费模式。
mode
- 路径分析模式。public GeoLine getRoute()
public boolean startGuide(int status)
引导状态的值为[0,1,2],其分别表示执行真实导航、执行模拟导航、执行定位点巡航。
status
- 引导状态。public double getCarAngle()
返回角度为车辆前进方向与正北方向的顺时针夹角,单位”度“。
public Point2D getCarPosition()
即获取当前车辆所在地的经纬度坐标,单位“度”。
public boolean connectNaviData(java.lang.String DataPath)
DataPath
- 导航数据文件所在路径。路径为绝对路径,所指目录中需放置"NaviMap",即路网数据在iDesktop中的编译结果public void enablePanOnGuide(boolean bPan)
bPan
- 一个布尔值,用来指示在导航过程中是否允许平移地图,true,表示允许,false,表示不允许。public boolean isGuiding()
public void cleanPath()
public boolean stopGuide()
public boolean setViewSize(int width, int height)
width
- 屏幕宽度。height
- 屏幕高度。public void setGPSData(LocationManagePlugin.GPSData newGps)
newGps
- GPS数据。public void setPathVisible(boolean isVisible)
isVisible
- 一个布尔值,用来指示是否高亮显示规划出的路线,true,表示高亮显示,false,表示不高亮显示。public void addNaviInfoListener(NaviListener listener)
listener
- 引导信息更新监听器public boolean getCarUpFront()
public java.lang.String getCurRoadName()
public double getDisToDestination()
public double getDisToSwerve()
public int getNaviAction()
public java.lang.String getNextRoadName()
public void resumeGuide()
public void pauseGuide()
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 void setRouteStyle(GeoStyle value)
value
- 引导路径的风格,即几何对象风格public int getTimeToDestination(double speed)
speed
- 当前行驶速度public int getPathRoadLevel()
public int getSecondaryAction()
public boolean addWayPoint(double x, double y)
x
- 途经点x坐标y
- 途经点y坐标public boolean addBarrierPoint(double x, double y)
x
- 障碍点的x坐标y
- 障碍点的y坐标public boolean clearBarrierPoints()
public boolean addBarrierBound(double left, double bottom, double right, double top)
left
- 障碍区域的左边界坐标bottom
- 障碍区域的右边界坐标right
- 障碍区域的下边界坐标top
- 障碍区域的上边界坐标public boolean clearBarrierBound()
public int getAdjust()
public boolean setSimulationSpeed(double speed)
speed
- 模拟导航行进速度public boolean setSimulationInterval(int interval)
interval
- 模拟导航间隔时间public boolean setSpeechParam(Navigation.SpeechParam speechparam)
speechparam
- 引导播报控制类,参见Navigation.SpeechParam
public void locateMap()
public void setEncryption(Encryption encryption)
encryption
- 坐标加密算法Encryption
public NaviPath getNaviPath()