navigator

概述

navigator 插件集成了打开高德、百度、腾讯、谷歌地图导航的相关接口,在 iOS 平台上支持打开系统自带地图导航。亦可通过本插件相应接口判断当前设备是否已安装高德、百度、腾讯、谷歌地图。

注意:

在 iOS 平台上需配置 config.xml 文件 配置可被检测的URL Scheme

百度地图:baidumap
高德地图:iosamap
谷歌地图:comgooglemaps
腾讯地图:qqmap

installed

判断当前设备是否已安装高德、谷歌、百度地图

installed({params}, callback(ret))

params

target:

  • 类型:字符串
  • 默认值:bMap
  • 描述:判断的对象,取值范围如下:
    • bMap:百度地图
    • aMap:高德地图
    • gMap:谷歌地图
    • tMap:腾讯地图

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:       //布尔类型;是否安装指定的地图,true|false
}

示例代码

var nav = api.require('navigator');
nav.installed({
    target: 'aMap'
}, function(ret, err) {
    if (ret.status) {
        api.alert({msg: JSON.stringify(ret)});
    } 
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

bMapNavigation

打开百度地图并开始导航

bMapNavigation({params})

params

start:

  • 类型:JSON 对象
  • 描述:起点信息,地址和经纬度信息,不能同时为空(不传)
  • 内部字段:
{
   lon:          //(可选项)数字类型;起点经度,经纬度参数同时存在或同时为空,视为有效参数,与起点名称合为空
   lat:          //(可选项)数字类型;起点纬度,经纬度参数同时存在或同时为空,视为有效参数,与起点名称配合为空
   name:         //(可选项)字符串类型;起点名称,与经纬度参数配合为空
}

end:

  • 类型:JSON 对象
  • 描述:终点信息,地址和经纬度信息,不能同时为空(不传)
  • 内部字段:
{
    lon:         //(可选项)数字类型;终点经度,经纬度参数同时存在或同时为空,视为有效参数,与终点名称配合为空
    lat:         //(可选项)数字类型;终点纬度,经纬度参数同时存在或同时为空,视为有效参数,与终点名称配合为空
    name:        //(可选项)字符串类型;终点名称,与经纬度参数配合为空
}

mode:

  • 类型:字符串
  • 默认值:driving
  • 描述:(可选项)导航路线类型,取值范围如下:
    • driving:驾车
    • transit:公交
    • walking:步行

示例代码

var nav = api.require('navigator');
nav.bMapNavigation({
    start: { // 起点信息.
        lon: 112.4772379, // 经度.
        lat: 34.55648, // 纬度.
        name: ''
    },
    end: { // 终点信息.
        lon: 112.57062599, // 经度
        lat: 33.784214, // 纬度
        name: ''
    },
    mode: 'driving'
});

补充说明

若起点或终点都传了经纬度和地址信息,则以经纬度信息为准

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

bMapDriveNavi

打开百度地图并开始驾车导航

bMapDriveNavi({params})

params

end:

  • 类型:JSON 对象
  • 描述:终点信息
  • 内部字段:
{
    lon:         //数字类型;终点经度 
    lat:         //数字类型;终点纬度 
}

coordType:

  • 类型:字符串
  • 默认值:bd09ll
  • 描述:(可选项)坐标类型,说明
  • 取值范围:
    • bd09ll:(百度经纬度坐标)
    • bd09mc:(百度墨卡托坐标)
    • gcj02:(经国测局加密的坐标)
    • wgs84:(gps获取的原始坐标)

strategy:

  • 类型:字符串
  • 默认值:DEFAULT
  • 描述:(可选项)路线规划类型
  • 取值范围:
    • DEFAULT:推荐(自驾,地图app不选择偏好);
    • BLK:躲避拥堵(自驾);
    • TIME:最短时间(自驾);
    • DIS:最短路程(自驾);
    • FEE:少走高速(自驾);
    • HIGHWAY:高速优先;

src:

  • 类型:字符串
  • 描述:表示来源,用于统计。
  • 格式:ios.companyName.appName
  • 注意:不传此参数,不保证服务

viaPoints:

  • 类型:数组
  • 描述:(可选项)途径点信息,可不传
  • 内部字段:
[{
    lat:         //数字类型;纬度 
    lng:         //数字类型;经度 
    name:        //字符串类型;名称 
},{},...]

示例代码

var nav = api.require('navigator');
nav.bMapDriveNavi({
    viaPoints: {  
        lng: 112.4772379, // 经度.
        lat: 34.55648, // 纬度.
        name: '途径点'
    },
    end: { // 终点信息.
        lon: 112.57062599, // 经度
        lat: 33.784214, // 纬度
        name: ''
    },
    type: 'TIME',
    src: 'ios.yonyou.youkongjian',
    coordType:'bd09ll'
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

bMapRideNavi

打开百度地图并开始骑行导航

bMapRideNavi({params})

params

end:

  • 类型:JSON 对象
  • 描述:终点信息
  • 内部字段:
{
    lon:         //数字类型;终点经度 
    lat:         //数字类型;终点纬度 
}

coordType:

  • 类型:字符串
  • 默认值:bd09ll
  • 描述:(可选项)坐标类型,说明
  • 取值范围:
    • bd09ll:(百度经纬度坐标)
    • bd09mc:(百度墨卡托坐标)
    • gcj02:(经国测局加密的坐标)
    • wgs84:(gps获取的原始坐标)

src:

  • 类型:字符串
  • 描述:表示来源,用于统计。
  • 格式:ios.companyName.appName
  • 注意:不传此参数,不保证服务

示例代码

var nav = api.require('navigator');
nav.bMapRideNavi({ 
    end: { // 终点信息.
        lon: 112.57062599, // 经度
        lat: 33.784214, // 纬度
        name: ''
    },
    src: 'ios.yonyou.youkongjian',
    coordType:'bd09ll'
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

bMapWalkNavi

打开百度地图并开始步行导航

bMapWalkNavi({params})

params

end:

  • 类型:JSON 对象
  • 描述:终点信息
  • 内部字段:
{
    lon:         //数字类型;终点经度 
    lat:         //数字类型;终点纬度 
}

coordType:

  • 类型:字符串
  • 默认值:bd09ll
  • 描述:(可选项)坐标类型,说明
  • 取值范围:
    • bd09ll:(百度经纬度坐标)
    • bd09mc:(百度墨卡托坐标)
    • gcj02:(经国测局加密的坐标)
    • wgs84:(gps获取的原始坐标)

mode:

  • 类型:字符串
  • 取值:walking_ar
  • 描述:(可选项)是否进入ar导航

src:

  • 类型:字符串
  • 描述:表示来源,用于统计。
  • 格式:ios.companyName.appName
  • 注意:不传此参数,不保证服务

示例代码

var nav = api.require('navigator');
nav.bMapWalkNavi({ 
    end: { // 终点信息.
        lon: 112.57062599, // 经度
        lat: 33.784214, // 纬度
        name: ''
    },
    mode: 'walking_ar',
    src: 'ios.yonyou.youkongjian',
    coordType:'bd09ll'
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

aMapNavigation

打开高德地图并开始从当前位置导航,iOS 平台上导航结束可跳转回本应用(确保config 配置无误)

aMapNavigation({params})

params

end:

  • 类型:JSON 对象
  • 描述:终点信息
  • 内部字段:
{
     lon:         //数字类型;终点经度
     lat:         //数字类型;终点纬度
}

dev:

  • 类型:布尔
  • 描述:是否偏移(国测加密,wgs84 坐标系)
  • 默认值:false( lat 和 lon 是已经加密后的,不需要国测加密,gcj02 坐标系)

strategy:

  • 类型:字符串
  • 默认值:fast
  • 描述:导航路线策略,取值范围如下:
    • fast: 速度最快
    • fee: 费用最少
    • distance: 距离最短
    • highway: 不走高速
    • jam: 躲避拥堵
    • highwayFee: 不走高速且避免收费
    • highwayJam: 不走高速且躲避拥堵
    • feeJam: 躲避收费和拥堵
    • highwayFeeJam: 不走高速躲避收费和拥堵

appName:

  • 类型:字符串
  • 描述:(可选项)app 名字
  • 默认值:APP

urlScheme:

  • 类型:字符串
  • 描述:(可选项)用于 iOS 平台上导航结束可跳转回本应用的(config 里配置的Scheme)

示例代码

var nav = api.require('navigator');
nav.aMapNavigation({
    end: {
        lon: 112.570,
        lat: 33.784214
    },
    dev: 0,
    strategy: 'fast',
    urlScheme:'gaodedaohangback',
    appName:'我的'
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

aMapRideNavigation

打开高德地图并开始骑行导航

aMapRideNavigation({params})

params

end:

  • 类型:JSON 对象
  • 描述:终点信息
  • 内部字段:
{
     lon:         //数字类型;终点经度
     lat:         //数字类型;终点纬度
}

dev:

  • 类型:布尔
  • 描述:(可选项)是否偏移(国测加密,wgs84 坐标系)
  • 默认值:false( lat 和 lon 是已经加密后的,不需要国测加密,gcj02 坐标系)

rideType:

  • 类型:字符串
  • 默认值:bike
  • 描述:(可选项)骑行类型
  • 取值范围:
    • bike:自行车
    • elebike: 电动车

appName:

  • 类型:字符串
  • 描述:(可选项)app 名字
  • 默认值:APP

示例代码

var nav = api.require('navigator');
nav.aMapRideNavigation({
    end: {
        lon: 112.570,
        lat: 33.784214
    },
    dev: 0,
    rideType: 'elebike',
    appName:'友空间'
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

aMapPath

打开高德地图并开始路线规划

aMapPath({params})

params

start:

  • 类型:JSON 对象
  • 描述:(可选项)起点信息
  • 内部字段:
{
    lon:           //(可选项)数字类型;起点经度,经纬度参数同时存在或同时为空,视为有效参数,与起点名称配合为空
    lat:           //(可选项)数字类型;起点纬度,经纬度参数同时存在或同时为空,视为有效参数,与起点名称配合为空

    name:          //(可选项)字符串类型;起点名称,与经纬度信息配合为空
}

end:

  • 类型:JSON 对象
  • 描述:终点信息
  • 内部字段:
{
    lon:           //(可选项)数字类型;终点经度,经纬度参数同时存在或同时为空,视为有效参数,与终点名称配合为空
    lat:           //(可选项)数字类型;终点纬度,经纬度参数同时存在或同时为空,视为有效参数,与终点名称配合为空

    name:          //(可选项)字符串类型;终点名称,与经纬度信息配合为空
}

mode:

  • 类型:字符串
  • 默认值:driving
  • 描述:导航路线类型,取值范围如下:
    • driving:驾车
    • transit:公交
    • walking:步行

strategy:

  • 类型:字符串
  • 默认值:drive_fast/transit_fast
  • 描述:导航路线策略,取值范围如下:
    • drive_fast: 驾车速度最快
    • drive_fee: 驾车费用最少
    • drive_distance: 驾车距离最短
    • drive_highway: 驾车不走高速
    • drive_jam: 驾车躲避拥堵
    • drive_highwayFee: 驾车不走高速且避免收费
    • drive_highwayJam: 驾车不走高速且躲避拥堵
    • drive_feeJam: 驾车躲避收费和拥堵
    • drive_highwayFeeJam: 驾车不走高速躲避收费和拥堵
    • transit_fast: 公交最快捷
    • transit_transfer: 公交最少换乘
    • transit_step: 公交最少步行
    • transit_subwayNo: 公交不乘地铁
    • transit_subway: 只坐地铁
    • transit_time: 公交时间短

示例代码

var nav = api.require('navigator');
nav.aMapPath({
    start: {
        lon: 112.477237,
        lat: 34.55648
    },
    end: {
        lon: 112.5706259,
        lat: 33.784214
    },
    mode: 'driving',
    strateggy: 'drive_fast'
});

补充说明

  1. 起点经纬度参数不为空,则路线以此坐标发起路线规划 。
  2. 起点经纬度参数为空,且起点名称不为空,则以此名称发起路线规划。
  3. 起点经纬度参数为空,且起点名称为空,则以“我的位置”发起路线规划。
  4. 终点经纬度参数不为空,则路线以此坐标发起路线规划 。
  5. 终点经纬度参数为空,且终点名称不为空,则以此名称发起路线规划。
  6. 终点经纬度参数为空,且终点点名称为空,则以“我的位置”发起路线规划。

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

tMapNavigation

打开腾讯地图并开始导航

tMapNavigation({params})

params

start:

  • 类型:JSON 对象
  • 描述:起点信息
  • 内部字段:
{
   lon:          //(可选项)数字类型;起点经度 
   lat:          //(可选项)数字类型;起点纬度 
}

from:

  • 类型:字符串
  • 描述:(可选项)起点名字

end:

  • 类型:JSON 对象
  • 描述:终点信息
  • 内部字段:
{
    lon:         //数字类型;终点经度 
    lat:         //数字类型;终点纬度 
}

to:

  • 类型:字符串
  • 描述:(可选项)终点名字

type:

  • 类型:字符串
  • 默认值:drive
  • 描述:(可选项)路线规划方式
  • 取值范围:
    • drive:(驾车)
    • bus:(公交)
    • walk:(步行)
    • bike:(骑行)

referer:

  • 类型:字符串
  • 描述:开发者key,点此申请
  • 格式:OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77

示例代码

var nav = api.require('navigator');
nav.tMapNavigation({
    start: {  
        lon: 112.4772379, // 经度.
        lat: 34.55648, // 纬度. 
    },
    end: { // 终点信息.
        lon: 112.57062599, // 经度
        lat: 33.784214, // 纬度 
    },
    from:'这',
    to:'那儿',
    type: 'drive',
    referer: 'OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77'
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

gMapNavigation

打开谷歌地图并开始导航

gMapNavigation({params})

params

start:

  • 类型:JSON 对象
  • 描述:(可选项)起点信息,若不传则已当前位置为起点
  • 内部字段:
{
    lon:,         //数字类型;起点经度
    lat:,         //数字类型;起点纬度
    addr:''       //(可选项)字符串类型;起点地址,若不传则以经纬度为准,若经纬度和地址都传也以经纬度为准,都不传则以当前位置为起点
}

end:

  • 类型:JSON 对象
  • 描述:(可选项)终点信息,若不传则已当前位置为起点
  • 内部字段:
{
    lon:,         //数字类型;终点经度
    lat:,         //数字类型;终点纬度
    addr:''       //(可选项)字符串类型;终点地址,若不传则以经纬度为准,若经纬度和地址都传也以经纬度为准,都不传则以当前位置为终点
}

mode:

  • 类型:字符串
  • 默认值:driving
  • 描述:导航路线类型,取值范围如下:
    • driving:驾车
    • transit:公交
    • walking:步行

示例代码

var nav = api.require('navigator');
nav.gMapNavigation({
    start: {
        lon: 112.47723797622677,
        lat: 34.556480000000015
    },
    end: {
        lon: 111.57062599999995,
        lat: 33.784214
    },
    mode: 'driving'
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

appleNavigation

打开苹果自带地图并开始导航

appleNavigation({params})

params

start:

  • 类型:JSON 对象
  • 描述:(可选项)起点信息,若不传 则以当前位置为起点
  • 内部字段:
{
        lon: ,        //数字类型;起点经度
        lat: ,        //数字类型;起点纬度
        name:         //(可选项)字符串类型;起点名;默认:起点
}

end:

  • 类型:JSON 对象
  • 描述:终点信息
  • 内部字段:
{
        lon:  ,       //数字类型;终点经度
        lat:   ,      //数字类型;终点纬度
        name:         //(可选项)字符串类型;起点名;默认:起点
}

mode:

  • 类型:字符串
  • 默认值:driving
  • 描述:导航路线类型,取值范围如下:
    • driving:驾车
    • transit:公交
    • walking:步行

示例代码

var nav = api.require('navigator');
nav.appleNavigation({
    start: {
        lon: 112.47723797622677,
        lat: 34.556480000000015,
        name: '起点'
    },
    end: {
        lon: 111.57062599999995,
        lat: 33.784214,
        name: '终点'
    },
    mode: 'driving'
});

可用性

iOS系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/04/24