interface.uts 2.1 KB
Newer Older
杜庆泉's avatar
杜庆泉 已提交
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
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;
杜庆泉's avatar
杜庆泉 已提交
46
type GetLocationFailCallback = (result: UniError) => void;
杜庆泉's avatar
杜庆泉 已提交
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
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
};