interface.uts 2.1 KB
Newer Older
DCloud-yyl's avatar
DCloud-yyl 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
export interface Uni {
  /**
   * 获取当前的地理位置、速度
   *
   * @tutorial http://uniapp.dcloud.io/api/location/location?id=getlocation
   */
  getLocation: GetLocation;
}

export type GetLocation = (options: GetLocationOptions) => void;
export type GetLocationSuccess = {
  /**
   * 纬度,浮点数,范围为-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,
  /**
   * 地址信息
   */
  address: any | null
};
type GetLocationSuccessCallback = (result: GetLocationSuccess) => void;
type GetLocationFailCallback = (result: UniError) => void;
type GetLocationComplete = any;
type GetLocationCompleteCallback = (result: GetLocationComplete) => void;
export type GetLocationOptions = {
  /**
   * 默认为 wgs84 返回 gps 坐标,gcj02 返回可用于uni.openLocation的坐标
   */
  type?: string | null,
  /**
   * 传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度
   * @type boolean
   */
  altitude?: boolean | null,
  /**
   * 传入 true 会解析地址
   * @type boolean
   */
  geocode?: boolean | null,
  /**
   * 高精度定位超时时间(ms),指定时间内返回最高精度,该值3000ms以上高精度定位才有效果
   */
  highAccuracyExpireTime?: number | null,
  /**
   * 开启高精度定位
   * @type boolean
   */
  isHighAccuracy?: boolean | null,
  /**
   * 接口调用成功的回调函数
   */
  success?: GetLocationSuccessCallback | null,
  /**
   * 接口调用失败的回调函数
   */
  fail?: GetLocationFailCallback | null,
  /**
   * 接口调用结束的回调函数(调用成功、失败都会执行)
   */
  complete?: GetLocationCompleteCallback | null
};