com.supermap.navi
类 Navigation2
- java.lang.Object
-
- com.supermap.navi.Navigation2
-
public class Navigation2 extends java.lang.Object行业导航类,提供基于拓扑路网的路径分析与导引。支持使用定制的路网数据进行导航,并可以编辑修改路网数据;
支持设置道路权重和限制,限速设置与提示;
支持设置障碍路段、障碍点、障碍节点;
支持引导路径风格设置;
支持自定义的GPS加密;
可以根据应用需要调整导引信息显示的布局,并提供矢量地图的地图旋转功能(参考
setCarUpFront(boolean)),网络地图暂不支持。
-
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 voidaddNaviInfoListener(NaviListener listener)添加导航引导信息更新监听器voidaddWayPoint(double x, double y)设置途经点坐标voidcleanPath()清除路径分析结果。voidenablePanOnGuide(boolean bPan)引导过程中是否允许平移地图。int[]getBarrierEdges()获取障碍边集合Point2DsgetBarrierPoints()获取障碍点集合doublegetCarAngle()获取小车角度。Point2DgetCarPosition()获取小车位置。booleangetCarUpFront()获取是否小车车头向上doublegetGuideEndDistance()获取导航结束距离,单位米NaviPathgetNaviPath()doublegetNodeInterval()获取分析点选择容限,单位米intgetPathID()获取小车所在道路IDGeoLinegetRoute()获取路径分析线路。booleanisGuiding()判断是否正在进行引导。booleanisPassedRouteHidden()是否隐藏走过的路线booleanisSimpleVoiceMode()语音播报是否为精简模式。booleanisUseSensorAzimuth()判断真实导航时导航图标方向是否使用传感器方向booleanload()将网络数据集转化为网络模型并加载。booleanloadModel(java.lang.String filePath)加载网络模型文件。voidlocateMap()导航中,小车在屏幕中居中显示voidpauseGuide()暂停导航voidremoveWayPoint()移除所有途经点voidresumeGuide()继续导航booleanrouteAnalyst()最佳路径分析。booleanrouteAnalyst(java.lang.String weightFieldName)最佳路径分析voidsetAzimuthChangeListener(AzimuthChangeListener listener)设置方位角变化监听器。voidsetBarrierEdges(int[] value)设置障碍边voidsetBarrierNodes(int[] value)设置障碍节点voidsetBarrierPoints(Point2Ds value)设置障碍点voidsetBarrierPointsDuringNavi(Point2Ds value)在导航进行中添加障碍点voidsetCarPicture(android.graphics.Bitmap carBmp)设置小车图标。voidsetCarSize(float width, float height)设置小车图标尺寸voidsetCarUpFront(boolean value)设置小车车头是否向上,设置为true时就能实现地图旋转。voidsetClimbChangeListener(ClimbChangeListener listener)设置到终点的累计爬升监听器。voidsetDatasetPoint(DatasetVector value)设置高程点数据集。voidsetDestinationPoint(double x, double y)设置目的点。voidsetDeviateTolerance(double tolerance)添加导航偏移容限,单位米voidsetGPSData(LocationManagePlugin.GPSData newGps)设置GPS数据。voidsetGuideEndDistance(double distance)设置真实导航(status=0)结束距离。voidsetIsAutoNavi(boolean isAutoNavi)设置是否自动采集GPS,设置为false时,需用户自己调用setGPSData传入GPS数据。voidsetIsEncryptGPS(boolean isEncryptGPS)设置是否加密GPS数据,默认加密。voidsetNetworkDataset(DatasetVector value)设置用于分析的网络数据集。voidsetNodeInterval(double interval)添加分析点选择容限,单位米(只有当大于0时有效,否则启用默认容限)voidsetPassedRouteHidden(Map map, boolean isAutoHidden)设置是否隐藏走过的路线(当设置分析路径不可见时,此路径也不显示) 注意:如果要使用此接口,必须在路径分析之前调用voidsetPathVisible(boolean isVisible)设置分析路径是否可见。voidsetRoadInfoVisibie(boolean visibie)设置道路信息显示栏是否显示。voidsetRouteStyle(GeoStyle value)设置引导路径的样式voidsetSimpleVoiceMode(boolean simpleVoiceMode)设置语音播报为精简模式。booleansetSimulationInterval(int interval)设置模拟导航间隔时间(单位ms)booleansetSimulationSpeed(double speed)设置模拟导航速度(单位m/s)voidsetSpeedField(java.lang.String value)设置最高限速字段 限速字段是网络数据集(即setNetworkDataset(com.supermap.data.DatasetVector))中的一个记录速度的字段。voidsetStartPoint(double x, double y)设置起点。voidsetTurnDataset(DatasetVector value)设置转向表数据集。voidsetUseSensorAzimuth(boolean useSensorAzimuth)设置真实导航时导航时导航图标方向是否使用传感器方向 默认为true,仅真实导航该值有效。booleansetWeightFieldInfos(WeightFieldInfos infos)设置权重字段booleanstartGuide(int status)开始引导。booleanstopGuide()停止引导。
-
-
-
方法详细资料
-
getRoute
public GeoLine getRoute()
获取路径分析线路。- 返回:
- 路径分析线路。
-
startGuide
public boolean startGuide(int status)
开始引导。- 参数:
status- 引导模式。0:真实导航, 1:模拟导航。- 返回:
- 是否成功。
-
getCarAngle
public double getCarAngle()
获取小车角度。- 返回:
- 小车角度。
-
getCarPosition
public Point2D getCarPosition()
获取小车位置。- 返回:
- 小车位置。
-
isGuiding
public boolean isGuiding()
判断是否正在进行引导。- 返回:
- 是否正在进行引导。
-
cleanPath
public void cleanPath()
清除路径分析结果。
-
stopGuide
public boolean stopGuide()
停止引导。- 返回:
- 是否成功。
-
setPathVisible
public void setPathVisible(boolean isVisible)
设置分析路径是否可见。- 参数:
isVisible- 是否可见。
-
setGPSData
public void setGPSData(LocationManagePlugin.GPSData newGps)
设置GPS数据。- 参数:
newGps- GPS数据。
-
setNetworkDataset
public void setNetworkDataset(DatasetVector value)
设置用于分析的网络数据集。必选。- 参数:
value- 网络数据集。
-
setTurnDataset
public void setTurnDataset(DatasetVector value)
设置转向表数据集。可选。- 参数:
value- 转向表数据集。
-
load
public boolean load()
将网络数据集转化为网络模型并加载。- 返回:
- 是否成功。
-
loadModel
public boolean loadModel(java.lang.String filePath)
加载网络模型文件。- 参数:
filePath- 内存文件路径。- 返回:
- 是否成功。
-
setStartPoint
public void setStartPoint(double x, double y)设置起点。- 参数:
x- 起点x坐标。y- 起点y坐标。
-
setDestinationPoint
public void setDestinationPoint(double x, double y)设置目的点。- 参数:
x- 终点x坐标。y- 终点y坐标。
-
routeAnalyst
public boolean routeAnalyst()
最佳路径分析。- 返回:
- 是否成功。
-
setIsEncryptGPS
public void setIsEncryptGPS(boolean isEncryptGPS)
设置是否加密GPS数据,默认加密。- 参数:
isEncryptGPS- 设置是否加密。
-
setCarPicture
public void setCarPicture(android.graphics.Bitmap carBmp)
设置小车图标。- 参数:
carBmp- 小车图标。
-
enablePanOnGuide
public void enablePanOnGuide(boolean bPan)
引导过程中是否允许平移地图。- 参数:
bPan- 一个布尔值,用来指示在导航过程中是否允许平移地图,true,表示允许,false,表示不允许。
-
setRoadInfoVisibie
public void setRoadInfoVisibie(boolean visibie)
设置道路信息显示栏是否显示。- 参数:
visibie- 是否显示。
-
setDatasetPoint
public void setDatasetPoint(DatasetVector value)
设置高程点数据集。可选。- 参数:
value- 高程点数据集。
-
setIsAutoNavi
public void setIsAutoNavi(boolean isAutoNavi)
设置是否自动采集GPS,设置为false时,需用户自己调用setGPSData传入GPS数据。- 参数:
isAutoNavi- 是否自动采集GPS,默认自动采集。
-
setClimbChangeListener
public void setClimbChangeListener(ClimbChangeListener listener)
设置到终点的累计爬升监听器。- 参数:
listener- 到终点的累计爬升监听器。
-
setAzimuthChangeListener
public void setAzimuthChangeListener(AzimuthChangeListener listener)
设置方位角变化监听器。- 参数:
listener- 方位角变化监听器。
-
addNaviInfoListener
public void addNaviInfoListener(NaviListener listener)
添加导航引导信息更新监听器- 参数:
listener- 引导信息更新监听器
-
getBarrierEdges
public int[] getBarrierEdges()
获取障碍边集合- 返回:
- 障碍边的ID数组
-
getBarrierPoints
public Point2Ds getBarrierPoints()
获取障碍点集合- 返回:
- 障碍点集合
-
getCarUpFront
public boolean getCarUpFront()
获取是否小车车头向上- 返回:
- 小车车头向上,返回true;否则返回false
-
getNaviPath
public NaviPath getNaviPath()
- 返回:
- 返回当前导航路径的详情
-
getPathID
public int getPathID()
获取小车所在道路ID- 返回:
- 路径ID
-
locateMap
public void locateMap()
导航中,小车在屏幕中居中显示
-
pauseGuide
public void pauseGuide()
暂停导航
-
resumeGuide
public void resumeGuide()
继续导航
-
setBarrierEdges
public void setBarrierEdges(int[] value)
设置障碍边- 参数:
value- 障碍边集合(参数为null时,为清空障碍边);其包含的int值为网络数据集中的线数据的SmID值
-
setBarrierNodes
public void setBarrierNodes(int[] value)
设置障碍节点- 参数:
value- 障碍节点集合(参数为null时,为清空障碍节点);其包含的int值为网络数据集中的节点(Node)数据的SmID值
-
setBarrierPoints
public void setBarrierPoints(Point2Ds value)
设置障碍点- 参数:
value- 障碍点集合(参数为null时,为清空障碍点)
-
setCarSize
public void setCarSize(float width, float height)设置小车图标尺寸- 参数:
width- 图标显示宽度height- 图标显示高度
-
setCarUpFront
public void 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时,小车车头与行进的道路 一致
-
setRouteStyle
public void setRouteStyle(GeoStyle value)
设置引导路径的样式- 参数:
value- 引导路径的样式
-
setSpeedField
public void setSpeedField(java.lang.String value)
设置最高限速字段限速字段是网络数据集(即
setNetworkDataset(com.supermap.data.DatasetVector))中的一个记录速度的字段。 要求该字段类型为32位整型或双精度,字段值的单位为km/h;如模拟导航默认速度为18km/h,当行驶速度超过道路最高限速(如10km/h),将通过语音提示已经超速- 参数:
value- 速度字段名称
-
setDeviateTolerance
public void setDeviateTolerance(double tolerance)
添加导航偏移容限,单位米- 参数:
tolerance- 导航偏移容限,单位米
-
setSimulationSpeed
public boolean setSimulationSpeed(double speed)
设置模拟导航速度(单位m/s)- 参数:
speed- 导航速度- 返回:
- 是否设置成功
-
setSimulationInterval
public boolean setSimulationInterval(int interval)
设置模拟导航间隔时间(单位ms)- 参数:
interval- 导航间隔时间- 返回:
- 是否设置成功
-
addWayPoint
public void addWayPoint(double x, double y)设置途经点坐标- 参数:
x- 终点x坐标y- 终点y坐标
-
setNodeInterval
public void setNodeInterval(double interval)
添加分析点选择容限,单位米(只有当大于0时有效,否则启用默认容限)- 参数:
interval- 容限
-
getNodeInterval
public double getNodeInterval()
获取分析点选择容限,单位米- 返回:
- 容限
-
setPassedRouteHidden
public void setPassedRouteHidden(Map map, boolean isAutoHidden)
设置是否隐藏走过的路线(当设置分析路径不可见时,此路径也不显示) 注意:如果要使用此接口,必须在路径分析之前调用- 参数:
map- map对象isAutoHidden- 是否隐藏
-
isPassedRouteHidden
public boolean isPassedRouteHidden()
是否隐藏走过的路线- 返回:
- 是否隐藏
-
setGuideEndDistance
public void setGuideEndDistance(double distance)
设置真实导航(status=0)结束距离。单位米- 参数:
distance- 结束距离
-
getGuideEndDistance
public double getGuideEndDistance()
获取导航结束距离,单位米- 返回:
- 结束距离
-
removeWayPoint
public void removeWayPoint()
移除所有途经点
-
setBarrierPointsDuringNavi
public void setBarrierPointsDuringNavi(Point2Ds value)
在导航进行中添加障碍点- 参数:
value- 障碍点集合(参数为null时,为清空障碍点)
-
setSimpleVoiceMode
public void setSimpleVoiceMode(boolean simpleVoiceMode)
设置语音播报为精简模式。
-
isSimpleVoiceMode
public boolean isSimpleVoiceMode()
语音播报是否为精简模式。
-
isUseSensorAzimuth
public boolean isUseSensorAzimuth()
判断真实导航时导航图标方向是否使用传感器方向- 返回:
- true真实导航模式导航图标方向使用传感器方向,false真实导航模式导航图标方向指向最近导航路径方向
-
setUseSensorAzimuth
public void setUseSensorAzimuth(boolean useSensorAzimuth)
设置真实导航时导航时导航图标方向是否使用传感器方向 默认为true,仅真实导航该值有效。- 参数:
useSensorAzimuth- 设置为true,真实导航模式下导航图标方向跟随手机传感器方向,设置为false,真实导航模式下导航图标方向为最近导航路径方向
-
routeAnalyst
public boolean routeAnalyst(java.lang.String weightFieldName)
最佳路径分析- 返回:
- 最佳路径分析是否成功
-
setWeightFieldInfos
public boolean setWeightFieldInfos(WeightFieldInfos infos)
设置权重字段- 参数:
infos- 权重字段信息- 返回:
- 是否设置权重字段成功
-
-