com.supermap.navi

类 Navigation3D

  • java.lang.Object
    • com.supermap.navi.Navigation3D


  • public class Navigation3D
    extends java.lang.Object
    导航类,支持3D导航,提供路径分析和引导功能。

  • 设置起点和目的地后,可以进行路径分析,并在分析成功后进行导航。
  • 路径分析包含四种模式:推荐、时间最快、距离最短和最少收费等。
  • 引导分为真实导航、模拟导航以及定位点巡航等三种模式。
  • 引导中提供引导信息的显示以及相关语音提示。

    导航中矢量地图旋转(参考setCarUpFront(boolean)}),不支持网络地图旋转

    注意:在启动引导后,外部传入GPS/BD等定位信息。

    • 构造器详细资料

      • Navigation3D

        public Navigation3D(android.content.Context context)
        构造函数
        参数:
        context - 应用上下文
    • 方法详细资料

      • setSceneControl

        public void setSceneControl(SceneControl sceneControl)
        设置三场景控件
        参数:
        sceneControl - 三维场景控件
      • getRoutes

        public GeoLine3D[] getRoutes()
        获得路径分析线路
        返回:
        GeoLine3D[]
      • getNaviPath

        public NaviPath getNaviPath()
        获取导航路径信息
        返回:
        导航路径信息
      • startGuide

        public boolean startGuide(int mode)
        开始引导
        参数:
        mode - 0:真实导航, 1:模拟导航 ,2:巡航 ,3:步行导航
        返回:
        是否开始导航
      • getCarAngle

        public double getCarAngle()
        获取小车角度
        返回:
        小车角度
      • getCarPosition

        public Point2D getCarPosition()
        获取小车位置
        返回:
        小车位置
      • getPathID

        public int getPathID()
        获取小车所在道路ID
        返回:
        道路ID
      • enablePanOnGuide

        public void enablePanOnGuide(boolean bPan)
        是否允许在引导的时候拖动地图
        参数:
        bPan - 是否可以拖动地图
      • locateMap

        public void locateMap()
        导航中,小车在屏幕中居中显示
      • isGuiding

        public boolean isGuiding()
        是否正在进行引导
        返回:
        是否在引导中
      • cleanPath

        public void cleanPath()
        清除路径分析结果
      • stopGuide

        public boolean stopGuide()
        停止引导
        返回:
        是否停止引导
      • setPathVisible

        public void setPathVisible(boolean isVisible)
        设置分析路径是否可见
        参数:
        isVisible - 是否可见
      • setEncryption

        public void setEncryption(Encryption encryption)
        设置加密器
        参数:
        encryption - 加密器
      • setDatasource

        public void setDatasource(Datasource value)
        设置室内地图所在的数据源。必选。
        参数:
        value - 室内地图所在数据源
      • setStartPoint

        public void setStartPoint(double x,
                                  double y,
                                  java.lang.String id)
        设置起点与楼层ID
        参数:
        x - 起点x坐标
        y - 起点y坐标
        id - 楼层id
      • setDestinationPoint

        public void setDestinationPoint(double x,
                                        double y,
                                        java.lang.String id)
        设置目的点与楼层ID
        参数:
        x - 终点x坐标
        y - 终点y坐标
        id - 楼层id
      • addWayPoint

        public void addWayPoint(double x,
                                double y,
                                java.lang.String id)
        设置途经点与楼层ID
        参数:
        x - 终点x坐标
        y - 终点y坐标
        id - 楼层id
      • setStartPoint

        public void setStartPoint(double x,
                                  double y,
                                  double z)
        设置起点
        参数:
        x - 起点x坐标
        y - 起点y坐标
        z - 起点z坐标
      • setDestinationPoint

        public void setDestinationPoint(double x,
                                        double y,
                                        double z)
        设置目的点
        参数:
        x - 终点x坐标
        y - 终点y坐标
        z - 终点z坐标
      • addWayPoint

        public void addWayPoint(double x,
                                double y,
                                double z)
        设置途经点
        参数:
        x - 途经点x坐标
        y - 途经点y坐标
        z - 途经点z坐标
      • setCurrentFloorId

        public void setCurrentFloorId(java.lang.String id)
        设置当前显示的楼层ID
        参数:
        id - 楼层ID
      • routeAnalyst

        public boolean routeAnalyst()
        最佳路径分析
        返回:
        是否分析成功
      • setIsEncryptGPS

        public void setIsEncryptGPS(boolean isEncryptGPS)
        设置是否加密GPS数据,默认加密
        参数:
        isEncryptGPS - 是否加密
      • setTile

        public void setTile(double tile)
        设置路径引导时相机倾斜角度
        参数:
        tile - 相机倾斜角度
      • setHeight

        public void setHeight(double height)
        设置路径引导时相机高度
        参数:
        height - 相机高度
      • getTile

        public double getTile()
        获取路径引导时相机倾斜角度
        返回:
        相机倾斜角度
      • setFloorChangeListener

        public void setFloorChangeListener(FloorChangeListener listener)
        添加楼层变化监听器
        参数:
        listener - 楼层变化监听器
      • setAzimuthChangeListener

        public void setAzimuthChangeListener(AzimuthChangeListener listener)
        设置方位角变化监听器
        参数:
        listener - 方位角变化监听器
      • setIsAutoNavi

        public void setIsAutoNavi(boolean isAutoNavi)
        设置是否自动采集GPS。默认自动采集
        参数:
        isAutoNavi - 是否自动采集
      • setCarUpFront

        public boolean setCarUpFront(boolean value)
        设置小车车头向上
        参数:
        value - 为true时,小车车头朝上;为false时,小车车头与行进的道路 一致
        返回:
        是否设置成功
      • getCarUpFront

        public boolean getCarUpFront()
        获取是否小车车头向上
        返回:
        是否小车车头向上
      • setRouteStyle

        public void setRouteStyle(GeoStyle value)
        设置当前楼层引导路径的样式
        参数:
        value - 引导路径的样式
      • setHintRouteStyle

        public void setHintRouteStyle(GeoStyle value)
        设置其他楼层引导路径的样式
        参数:
        value - 引导路径的样式
      • addNaviInfoListener

        public void addNaviInfoListener(NaviListener listener)
        添加导航引导信息更新监听器
        参数:
        listener - 引导信息更新监听器
      • resumeGuide

        public void resumeGuide()
        继续导航
      • pauseGuide

        public void pauseGuide()
        暂停导航
      • setSimulationSpeed

        public boolean setSimulationSpeed(double speed)
        设置模拟导航速度(单位m/s)
        参数:
        speed - 模拟导航速度
        返回:
        是否设置成功
      • setSimulationInterval

        public boolean setSimulationInterval(int interval)
        设置模拟导航间隔时间(单位ms)
        参数:
        interval - 导航时间间隔
        返回:
        是否设置成功
      • setDeviateTolerance

        public void setDeviateTolerance(double tolerance)
        添加导航偏移容限,单位米
        参数:
        tolerance - 偏移容量