【小程序开发】位置 API 集合(一)

本文介绍了MapKit库中的几个关键功能,包括获取当前位置、提供可跳转的地图选项、地图选择定位以及地理围栏的管理,展示了如何在不同场景中使用这些API进行精确的位置处理和权限控制。
摘要由CSDN通过智能技术生成

ty.map.getLocation

获取当前的地理位置、速度

需引入MapKit,且在>=1.0.6版本才可使用

参数

Object object

属性类型默认值必填说明
typestringwgs84 返回 gps 坐标,gcj02 返回可用于 openLocation 的坐标
altitudeboolean传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度
isHighAccuracyboolean开启高精度定位

highAccuracy

ExpireTime

number高精度定位超时时间(ms),指定时间内返回最高精度,该值3000ms以上高精度定位才有效果
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数

object.success回调参数

参数

Object res

属性类型说明
latitudenumber纬度,范围为 -90~90,负数表示南纬
longitudenumber经度,范围为 -180~180,负数表示西经
speednumber速度,单位 m/s
accuracynumber位置的精确度
altitudenumber高度,单位 m
verticalAccuracynumber垂直精度,单位 m(Android 无法获取,返回 0)
horizontalAccuracynumber水平精度,单位 m
cityNamestring城市名称street
streetNamestring街道名称
addressstring位置名称
countryCodestring国家码
postalCodestring邮编
countryNamestring国家名
provincestring省名
districtstring区名, 次级区域名

object.fail回调参数

参数

Object res

属性类型说明
errorMsgstring插件错误信息
errorCodestring错误码
innerErrorobject插件外部依赖错误信息 {errorMsg: string, errorCode: string }

函数定义示例

/**
 * 获取当前的地理位置、速度
 */
export function getLocation(params: {
  /** wgs84 返回 gps 坐标,gcj02 返回可用于 openLocation 的坐标 */
  type: string
  /** 传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度 */
  altitude: boolean
  /** 开启高精度定位 */
  isHighAccuracy: boolean
  /** 高精度定位超时时间(ms),指定时间内返回最高精度,该值3000ms以上高精度定位才有效果 */
  highAccuracyExpireTime: number
  /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  complete?: () => void
  /** 接口调用成功的回调函数 */
  success?: (params: {
    /** 纬度,范围为 -90~90,负数表示南纬 */
    latitude: number
    /** 经度,范围为 -180~180,负数表示西经 */
    longitude: number
    /** 速度,单位 m/s */
    speed: number
    /** 位置的精确度 */
    accuracy: number
    /** 高度,单位 m */
    altitude: number
    /** 垂直精度,单位 m(Android 无法获取,返回 0) */
    verticalAccuracy: number
    /** 水平精度,单位 m */
    horizontalAccuracy: number
    /** 城市名称street */
    cityName: string
    /** 街道名称 */
    streetName: string
    /** 位置名称 */
    address: string
    /** 国家码 */
    countryCode: string
    /** 邮编 */
    postalCode: string
    /** 国家名 */
    countryName: string
    /** 省名 */
    province: string
    /** 区名, 次级区域名 */
    district: string
  }) => void
  /** 接口调用失败的回调函数 */
  fail?: (params: {
    errorMsg: string
    errorCode: string | number
    innerError: {
      errorCode: string | number
      errorMsg: string
    }
  }) => void
}): void

👉 立即开发

ty.map.getMapList

获取可跳转第三方地图的地图类型

需引入MapKit,且在>=2.1.1版本才可使用

参数

Object object

属性类型默认值必填说明
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数

object.success 回调参数

参数

Object res

属性类型说明
mapsarray可跳转的地图厂商,目前支持:BMK:百度地图 MA:高德地图 TENCENT:腾讯地图 Google:Google 地图

object.fail 回调参数

参数

Object res

属性类型说明
errorMsgstring插件错误信息
errorCodestring错误码
innerErrorobject插件外部依赖错误信息 {errorMsg: string, errorCode: string }

函数定义示例

/**
 * 获取可跳转第三方地图的地图类型
 */
export function getMapList(params?: {
  /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  complete?: () => void;
  /** 接口调用成功的回调函数 */
  success?: (params: {
    /** 可跳转的地图厂商,目前支持:BMK:百度地图 MA:高德地图 TENCENT:腾讯地图 Google:Google地图 */
    maps: string[];
  }) => void;
  /** 接口调用失败的回调函数 */
  fail?: (params: {
    errorMsg: string;
    errorCode: string | number;
    innerError: {
      errorCode: string | number;
      errorMsg: string;
    };
  }) => void;
}): void;

ty.map.chooseLocation

打开地图选择位置。

需引入MapKit,且在>=1.0.6版本才可使用

参数

Object object

属性类型默认值必填说明
latitudenumber目标地纬度
longitudenumber目标地经度
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数

object.success 回调参数

参数

Object res

属性类型说明
namestring位置名称
addressstring详细地址
latitudenumber纬度,浮点数,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系
longitudenumber经度,浮点数,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系

object.fail 回调参数

参数

Object res

属性类型说明
errorMsgstring插件错误信息
errorCodestring错误码
innerErrorobject插件外部依赖错误信息 {errorMsg: string, errorCode: string }

函数定义示例

/**
 * 打开地图选择位置。
 */
export function chooseLocation(params?: {
  /** 目标地纬度 */
  latitude?: number;
  /** 目标地经度 */
  longitude?: number;
  /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  complete?: () => void;
  /** 接口调用成功的回调函数 */
  success?: (params: {
    /** 位置名称 */
    name: string;
    /** 详细地址 */
    address: string;
    /** 纬度,浮点数,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系 */
    latitude: number;
    /** 经度,浮点数,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系 */
    longitude: number;
  }) => void;
  /** 接口调用失败的回调函数 */
  fail?: (params: {
    errorMsg: string;
    errorCode: string | number;
    innerError: {
      errorCode: string | number;
      errorMsg: string;
    };
  }) => void;
}): void;

ty.map.updateGeofence

更新地理围栏

权限: [scope.location]

需引入MapKit,且在>=3.0.1版本才可使用

参数

Object object

属性类型默认值必填说明
registerGeoFencearray注册的地理围栏
unregisterGeoFencearray取消的地理围栏
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数

object.success 回调参数

参数

Object res

属性类型说明
successboolean更新成功

object.fail 回调参数

参数

Object res

属性类型说明
errorMsgstring插件错误信息
errorCodestring错误码
innerErrorobject插件外部依赖错误信息 {errorMsg: string, errorCode: string }

函数定义示例

/**
 * 更新地理围栏
 *权限: [scope.location]
 */
export function updateGeofence(params: {
  /** 注册的地理围栏 */
  registerGeoFence: GeofenceInfo[];
  /** 取消的地理围栏 */
  unregisterGeoFence: GeofenceInfo[];
  /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  complete?: () => void;
  /** 接口调用成功的回调函数 */
  success?: (params: {
    /** 更新成功 */
    success?: boolean;
  }) => void;
  /** 接口调用失败的回调函数 */
  fail?: (params: {
    errorMsg: string;
    errorCode: string | number;
    innerError: {
      errorCode: string | number;
      errorMsg: string;
    };
  }) => void;
}): void;

ty.map.isGeofenceReachLimit

地理围栏是否达到上限

权限: [scope.location]

需引入MapKit,且在>=3.0.1版本才可使用

参数

Object object

属性类型默认值必填说明
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数

object.success 回调参数

参数

Object res

属性类型说明
reachLimitboolean地理围栏是否达到上限

object.fail 回调参数

参数

Object res

属性类型说明
errorMsgstring插件错误信息
errorCodestring错误码
innerErrorobject插件外部依赖错误信息 {errorMsg: string, errorCode: string }

函数定义示例

/**
 * 地理围栏是否达到上限
 *权限: [scope.location]
 */
export function isGeofenceReachLimit(params?: {
  /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  complete?: () => void;
  /** 接口调用成功的回调函数 */
  success?: (params: {
    /** 地理围栏是否达到上限 */
    reachLimit?: boolean;
  }) => void;
  /** 接口调用失败的回调函数 */
  fail?: (params: {
    errorMsg: string;
    errorCode: string | number;
    innerError: {
      errorCode: string | number;
      errorMsg: string;
    };
  }) => void;
}): void;

👉 立即开发

  • 26
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IoT砖家涂拉拉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值