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