导航管理接口

interface IAMapNavi {
    addAMapNaviListener(naviListener: IAMapNaviListener): void;
    calculateDriveRoute(from: null | ArrayList<INaviLatLng>, to: ArrayList<INaviLatLng>, wayPoints: null | ArrayList<INaviLatLng>, strategy: number): boolean;
    calculateDriveRouteForPoi(fromPoi: null | string | NaviPoi, toPoi: string | NaviPoi, wayPoints: null | ArrayList<string> | ArrayList<NaviPoi>, strategy: number): boolean;
    destroy(): void;
    getNaviPath(): null | AMapNaviPath;
    getNaviSetting(): null | NaviSetting;
    getVersion(): string;
    independentCalculateRoute(fromPoi: null | NaviPoi, toPoi: NaviPoi, wayPoints: null | ArrayList<NaviPoi>, strategy: number, transportType: number, observer: null | AMapNaviIndependentRouteListener): boolean;
    isTtsPlaying(): boolean;
    pauseNavi(): void;
    playTTS(tts: string, forcePlay: boolean): boolean;
    reCalculateRoute(strategy: PathPlanningStrategy): boolean;
    removeAMapNaviListener(naviListener: IAMapNaviListener): void;
    resumeNavi(): void;
    selectRouteId(id: number): boolean;
    setAMapNaviOnlineCarHailingType(type: AMapNaviOnlineCarHailingType): void;
    setAMapNaviViewListener(listener: AMapNaviViewListener): void;
    setApiKey(context: Context, apiKey: string): void;
    setCarInfo(carInfo: null | AMapCarInfo): void;
    setExtraGPSData(type: number, location: AMapLocation): void;
    setIsUseExtraGPSData(isUseExtraData: boolean): void;
    setIsUseInnerVoice(isUseInnerVoice: boolean): void;
    setMockLocationManager(mockLocacitonManager: IMockLocationManager): void;
    setNaviMode(mode: number): void;
    setShowMode(showMode: number): void;
    setTtsPlaying(playing: boolean): void;
    setUseInnerVoice(isUseInnerVoice: boolean, isCallBackText?: boolean): void;
    startGPS(time?: number, dis?: number): boolean;
    startMockLocation(path?: AMapNaviPath, callback?: IGpsCallback): void;
    startNavi(naviType: number): boolean;
    startNaviWithPath(naviType: number, pathGroup: AMapNaviPathGroup): boolean;
    startSpeak(): void;
    stopGPS(): boolean;
    stopMockLocation(): void;
    stopNavi(): void;
    stopSpeak(): void;
    strategyConvert(avoidCongestion: boolean, avoidHighway: boolean, avoidCost: boolean, prioritiseHighway: boolean, multipleRoute: boolean): number;
}

Methods

  • 添加导航事件回调监听。

    Parameters

    Returns void

    1.0.0

  • 计算驾车路径(包含起点) 注意:1.0.0版本只支持经纬度算路。

    Parameters

    • from: null | ArrayList<INaviLatLng>

      指定的导航起点。支持多个起点,起点列表的尾点为实际导航起点,其他坐标点为辅助信息,带有方向性,可有效避免算路到马路的另一侧;不带起点,起点默认为当前位置;

    • to: ArrayList<INaviLatLng>

      指定的导航终点。支持多个终点,终点列表的尾点为实际导航终点,其他坐标点为辅助信息,带有方向性,可有效避免算路到马路的另一侧。

    • wayPoints: null | ArrayList<INaviLatLng>

      途经点,同时支持最多16个途经点的路径规划;

    • strategy: number

      规划策略,详情参见 {PathPlanningStrategy}。普通客车、货车请使用"DRIVING_"开头的策略,驾车推荐使用默认策略 {DRIVING_MULTIPLE_ROUTES_DEFAULT}, 摩托车请使用"MOTOR_"开头的策略。

    Returns boolean

    算路是否成功,true-成功;false-失败。注意:返回true,只表示路径计算方法执行,但是否返回规划的路线,请参见AMapNaviListener的回调。

    1.0.0

  • POI驾车算路(带有起点)

    Parameters

    • fromPoi: null | string | NaviPoi

      起点,若传入无效起点则使用当前位置; 当为string时,则为poiId

    • toPoi: string | NaviPoi

      终点; 当为string时,则为poiId

    • wayPoints: null | ArrayList<string> | ArrayList<NaviPoi>

      途经点; 当为ArrayList时,则为poiId列表

    • strategy: number

      策略

    Returns boolean

  • 释放导航对象资源

    退出时调用此接口释放导航资源,在调用此接口后不能再调用AMapNavi类里的其它接口。

    Returns void

    1.0.0

  • 获取当前规划的路线方案(路线结果),驾车、骑行与步行共用这一个对象

    Returns null | AMapNaviPath

    当前规划的路线信息。

    1.0.0

  • 获取导航配置类

    Returns null | NaviSetting

    导航配置类

    2.2.4

  • 获取版本号

    Returns string

    SDK版本号

    1.0.0

  • POI独立算路

    Parameters

    • fromPoi: null | NaviPoi

      起点信息

    • toPoi: NaviPoi

      终点信息

    • wayPoints: null | ArrayList<NaviPoi>

      途经点信息,最多支持16个途经点,超过16个会取前16个。如果POIID合法,优先使用ID参与算路,否则使用坐标点。注意:POIID和坐标点不能同时为空

    • strategy: number

      算路策略: 驾车参考 com.amap.api.navi.enums.PathPlanningStrategy

    • transportType: number

      交通类型 1-驾车

    • observer: null | AMapNaviIndependentRouteListener

      算路结果监听器

    Returns boolean

    规划路径所需条件和参数校验是否成功,不代表算路成功与否

    2.2.3

  • 当前SDK内置语音的是否正在播报

    注意:正在播报的时候请不要使用外部播放器播报语音,会导致与导航内置的播报冲突。

    Returns boolean

    true-内置语音正在播报,false-内置语音空闲中

    1.0.0

  • 暂停导航,仅支持模拟导航。

    Returns void

    1.0.0

  • 播放自定义文字,注意如果当前正在播放导航语音,可能导致播放失败,只在内置语音下生效

    Parameters

    • tts: string

      要播放的文字

    • forcePlay: boolean

      是否强制进行播报 true 如果当前有其他导航语音,会等导航语音播放完毕后播放该文字,但是可能导致导航丢失掉关键引导信息 false 如果当前有其他导航语音,则不播报

    Returns boolean

    播放是否成功 true 成功,false 失败

    2.2.4

  • 导航过程中重新规划路线(起点为当前位置,途经点、终点位置不变)

    Parameters

    • strategy: PathPlanningStrategy

      指定的驾车策略常量值,参见com.amap.api.navi.enums.PathPlanningStrategy; 骑步行忽略此参数,传0即可。

    Returns boolean

    算路是否成功。true-成功;false-失败。

    1.0.0

  • 移除导航对象的监听。

    Parameters

    Returns void

    1.0.0

  • 继续导航,仅支持模拟导航。

    Returns void

    1.0.0

  • 导航前选主路线

    Parameters

    • id: number

      路线的routeId

    Returns boolean

    是否选择此路线成功

    2.0.0

  • 设置网约车导航模式,包括非网约车模式,网约车接驾模式、网约车送驾模式,默认为非网约车模式 注意:该接口仅驾车模式有效

    Parameters

    Returns void

    2.2.4

  • 设置导航界面的事件回调监听

    Parameters

    Returns void

    2.2.4

  • 手动设置key,这是个静态方法,需要在一切导航接口前调用,建议在applicaiton中调用

    Parameters

    • context: Context

      对应的Context

    • apiKey: string

      用户在高德官网申请的KEY

    Returns void

    1.0.0

  • 设置车辆信息(包括车型,车牌,车高,车重等),路径规划时会躲避车辆限行区域和路线。
    目前小客车算路只考虑车牌因素,货车算路会考虑车高、车重等信息, 其中AMapCarInfo#setRestriction(boolean)}用于控制是否规避限行路段。
    AMapCarInfo#setVehicleLoadSwitch(boolean)用于控制算路时是否需要考虑车重。
    注意:该接口仅驾车模式有效

    Parameters

    Returns void

    1.0.0

  • 此方法用于设置外部定位数据,并使用外部定位数据进行导航 使用此方法前需要先调用AMapNavi#setIsUseExtraGPSData(boolean)将开关打开.

    Parameters

    • type: number

      坐标类型。如果使用系统默认返回的定位坐标,type值为1。使用高德坐标,type值传2

    • location: AMapLocation

      外部定位数据。Longitude、Latitude、Accuracy、Speed、Bearing、Time 缺一不可

    Returns void

    2.2.5

  • 设置是否使用外部定位数据. 只有将此开关打开后,AMapNavi#setExtraGPSData(int, Location)方法才会生效。

    Parameters

    • isUseExtraData: boolean

      是否使用外部定位数据

    Returns void

    2.2.5

  • 是否开启内置语音,默认true

    Parameters

    • isUseInnerVoice: boolean

    Returns void

    1.0.0

  • 设置Mock manager,参考Demo使用

    Parameters

    Returns void

    1.0.0

  • 设置车头朝向

    Parameters

    • mode: number

      车头朝向 0-CAR_UP_MODE 车头朝上模式 1-NORTH_UP_MODE 正北朝上模式

    Returns void

    2.2.3

  • 设置导航页面显示模式

    Parameters

    • showMode: number

      1-锁车态 2-全览态 3-普通态

    Returns void

    2.2.3

  • 设置外部播放器是否正在播报

    Parameters

    • playing: boolean

    Returns void

    1.0.0

  • 设置使用内部语音播报

    Parameters

    • isUseInnerVoice: boolean

      是否使用内部语音播报, 默认为false

    • OptionalisCallBackText: boolean

      isUseInnerVoice设置为true以后,AMapNaviListener#onGetNavigationText接口会继续返回文字,默认为false

    Returns void

    2.2.4

  • 启动GPS定位, 带距离和时间参数。

    用户可以手动启动GPS,如果没有启动GPS, 在驾车或者步行导航启动时(startNavi)会自动启动。默认定位时间间隔为1秒,变化距离为0。

    Parameters

    • Optionaltime: number

      位置更新的时间间隔, 单位:秒。

    • Optionaldis: number

      位置更新的距离间隔,单位:米。

    Returns boolean

    返回GPS启动是否成功。true代表成功,false代表失败。

    2.2.4

  • 开始GPS模拟导航,参考Demo使用

    Parameters

    Returns void

    1.0.0

  • 开始导航。实时导航会自动打开手机卫星定位功能。模拟导航则不需要使用定位功能。

    Parameters

    • naviType: number

      导航类型,0:实时导航 1:模拟导航。

    Returns boolean

    启动成功或者失败。true是成功,false是失败。

    1.0.0

  • 使用指定路线开始导航

    Parameters

    • naviType: number

      导航类型 com.amap.api.navi.enums.NaviType

    • pathGroup: AMapNaviPathGroup

      路线组

    Returns boolean

    true-成功 false-失败

    2.2.3

  • 开始内置语音播报,只有在使用内置语音的情况下才有效

    Returns void

    2.2.4

  • 停止手机卫星定位。

    Returns boolean

    返回是否停止手机卫星定位成功。true,成功;false,失败。

    2.2.4

  • 停止GPS模拟导航,参考Demo使用

    Returns void

    1.0.0

  • 停止导航,包含实时导航和模拟导航。

    Returns void

    1.0.0

  • 停止内置语音播报,只有在使用内置语音的情况下有效 注意:调用该接口,会停止播放导航语音,但是仍然可以播放自定义语音

    Returns void

    2.2.4

  • 进行算路策略转换,将传入的特定规则转换成PathPlanningStrategy的枚举值。 注意:该接口仅驾车模式有效

    Parameters

    • avoidCongestion: boolean

      是否躲避拥堵

    • avoidHighway: boolean

      是否不走高速

    • avoidCost: boolean

      是否避免收费

    • prioritiseHighway: boolean

      是否高速优先

    • multipleRoute: boolean

      统一使用多路线算路。

    Returns number

    策略ID,可以将此策略ID传入AmapNavi类calculateDriveRoute方法进行相应的算路。