com.supermap.navi
类 Navigation
- java.lang.Object
-
- com.supermap.navi.Navigation
-
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()
停止引导。
-
-
-
方法详细资料
-
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()
- 返回:
- 返回当前导航路径的详情
-
-