interface.uts 3.0 KB
Newer Older
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 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
export interface Uni {

  /**
   * @description 获取当前的地理位置、速度
   * @param {GetLocation} option
   * @example
   * ```typescript
   *	uni.getLocation({
   *		type: 'wgs84',
   *		success: function (res) {
   *			console.log('当前位置的经度:' + res.longitude);
   *			console.log('当前位置的纬度:' + res.latitude);
   *		}
   *	});
   * ```
   * @tutorial [](http://uniapp.dcloud.io/api/location/location?id=getlocation)
   * @uniPlatform {
   *    "app": {
   *        "android": {
   *            "osVer": "4.4.4",
   *            "uniVer": "√",
   *            "unixVer": "3.9.0"
   *        },
   *        "ios": {
   *            "osVer": "x",
   *            "uniVer": "x",
   *            "unixVer": "x"
   *        }
   *    }
   * }
   */
  getLocation(options: GetLocationOptions):void;
  
}



export type GetLocation = (options: GetLocationOptions) => void;
export type GetLocationSuccess = {
  /**
   * 纬度,浮点数,范围为-90~90,负数表示南纬
   * @defaultValue 0
   */
  latitude: number,
  /**
   * 经度,范围为-180~180,负数表示西经
   * @defaultValue 0
   */
  longitude: number,
  /**
   * 速度,浮点数,单位m/s
   * @defaultValue 0
   */
  speed: number,
  /**
   * 位置的精确度
   */
  accuracy: number,
  /**
   * 高度,单位 m
   * @defaultValue 0
   */
  altitude: number,
  /**
   * 垂直精度,单位 m(Android 无法获取,返回 0)
   * @defaultValue 0
   */
  verticalAccuracy: number,
  /**
   * 水平精度,单位 m
   * @defaultValue 0
   */
  horizontalAccuracy: number,
  /**
   * 地址信息
   * @defaultValue null
   */
  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的坐标
   * @defaultValue wgs84
   */
  type?: string | null,
  /**
   * 传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度
   * @type boolean
   * @defaultValue false
   */
  altitude?: boolean | null,
  /**
   * 传入 true 会解析地址
   * @type boolean
   * @defaultValue false
   */
  geocode?: boolean | null,
  /**
   * 高精度定位超时时间(ms),指定时间内返回最高精度,该值3000ms以上高精度定位才有效果
   * @defaultValue 3000
   */
  highAccuracyExpireTime?: number | null,
  /**
   * 开启高精度定位
   * @type boolean
   * @defaultValue false
   */
  isHighAccuracy?: boolean | null,
  /**
   * 接口调用成功的回调函数
   */
  success?: GetLocationSuccessCallback | null,
  /**
   * 接口调用失败的回调函数
   */
  fail?: GetLocationFailCallback | null,
  /**
   * 接口调用结束的回调函数(调用成功、失败都会执行)
   */
  complete?: GetLocationCompleteCallback | null
};