快應(yīng)用 地理位置

2020-08-10 15:06 更新

接口聲明

{"name": "system.geolocation"}

導(dǎo)入模塊

import geolocation from '@system.geolocation' 
或 
const geolocation = require('@system.geolocation')

接口定義

geolocation.getLocation(OBJECT)

獲取地理位置

權(quán)限要求

精確設(shè)備定位

參數(shù):

參數(shù)名類型必填說明
timeoutLong設(shè)置超時時間,單位是 ms,默認值為 30000。在權(quán)限被系統(tǒng)拒絕或者定位設(shè)置不當(dāng)?shù)那闆r下,有可能永遠不能返回結(jié)果,因而需要設(shè)置超時。超時后會使用 fail 回調(diào)
coordType 1050+String坐標(biāo)系類型,可選值可通過 getSupportedCoordTypes 獲取,默認為 wgs84
successFunction成功回調(diào)
failFunction失敗回調(diào),原因可能是用戶拒絕
completeFunction執(zhí)行結(jié)束后的回調(diào)
success返回值:
參數(shù)名類型說明
longitudeNumber經(jīng)度
latitudeNumber緯度
accuracy 1040+Number精確度
time 1040+Number時間
fail返回錯誤代碼
錯誤碼 說明
201 用戶拒絕,獲取定位權(quán)限失敗
204 超時返回
1000 1000+ 系統(tǒng)位置開關(guān)關(guān)閉

示例:

geolocation.getLocation({
  success: function (data) {
    console.log(`handling success: longitude = ${data.longitude}, latitude = ${data.latitude}`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

geolocation.openLocation(OBJECT)

使用快應(yīng)用內(nèi)置地圖查看位置,并且允許拉起第三方地圖應(yīng)用發(fā)起導(dǎo)航

權(quán)限要求

精確設(shè)備定位

參數(shù):

參數(shù)名類型必填說明
latitudeNumber緯度,范圍為 -90~90,負數(shù)表示南緯
longitudeNumber經(jīng)度,范圍為 -180~180,負數(shù)表示西經(jīng)
coordTypeString坐標(biāo)系,支持 wgs84 和 gcj02,默認使用 wgs84
scaleNumber縮放比例,范圍為 5~18,默認值是 18
nameString位置名
addressString地址的詳細說明
successFunction成功回調(diào)
failFunction失敗回調(diào)
completeFunction執(zhí)行結(jié)束后的回調(diào)
fail 返回錯誤代碼
錯誤碼說明
201用戶拒絕
202經(jīng)緯度參數(shù)非法
1000跳轉(zhuǎn)導(dǎo)航出錯
1001未安裝地圖應(yīng)用

示例:

geolocation.openLocation({
  latitude: 22.553594050274,
  longitude: 114.0586290118,
  success: function() {
    console.log(`open location success`)
  },
  fail: function(data, code) {
    console.log(`open location fail, code = ${code}`)
  },
  complete: function() {
    console.log(`open location complete`)
  }
})

geolocation.chooseLocation(OBJECT) 

打開快應(yīng)用內(nèi)置地圖選擇位置

權(quán)限要求

精確設(shè)備定位

參數(shù):

參數(shù)名類型必填說明
latitudeNumber指定中心點緯度,如果為空則顯示當(dāng)前位置
longitudeNumber指定中心點經(jīng)度,如果為空則顯示當(dāng)前位置
coordTypeString坐標(biāo)系,支持 wgs84 和 gcj02,默認使用 wgs84。僅作用于指定中心點的經(jīng)緯度坐標(biāo)系,成功回調(diào)的返回值國內(nèi)坐標(biāo)固定使用 gcj02 坐標(biāo)系,國外坐標(biāo)固定使用 wgs84 坐標(biāo)系
successFunction成功回調(diào)
failFunction失敗回調(diào)
completeFunction執(zhí)行結(jié)束后的回調(diào)
success 返回值:
參數(shù)名類型說明
nameString位置名稱
addressString詳細地址
coordTypeString返回值經(jīng)緯度的坐標(biāo)系,國內(nèi)坐標(biāo)固定使用 gcj02 坐標(biāo)系,國外坐標(biāo)固定使用 wgs84 坐標(biāo)系
latitudeNumber緯度,浮點數(shù),范圍為 -90~90,負數(shù)表示南緯
longitudeNumber經(jīng)度,浮點數(shù),范圍為 -180~180,負數(shù)表示西經(jīng)
fail 返回錯誤代碼
錯誤碼說明
201用戶拒絕
1000所選位置無效

示例:

geolocation.chooseLocation({
  success: function(data) {
    console.log(
      `choose location success: name = ${data.name}, address = ${data.address}, coordType = ${data.coordType}, latitude = ${data.latitude}, longitude = ${data.longitude}`
    )
  },
  fail: function(data, code) {
    console.log(`choose location fail, code = ${code}`)
  },
  complete: function() {
    console.log(`choose location complete`)
  }
})

geolocation.getLocationType(OBJECT) 1010+

獲取系統(tǒng)當(dāng)前支持的定位類型

權(quán)限要求

精確設(shè)備定位

參數(shù):

參數(shù)名 類型 必填 說明
success Function 成功回調(diào)
fail Function 失敗回調(diào)
complete Function 執(zhí)行結(jié)束后的回調(diào)
success返回值:
參數(shù)名 類型 說明
types Array 支持的類型['gps','network']

示例:

geolocation.getLocationType({
  success: function (data) {
    console.log(`handling success: locationType = ${data.types}`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

geolocation.subscribe(OBJECT)

監(jiān)聽地理位置。如果多次調(diào)用,僅最后一次調(diào)用生效

參數(shù):

參數(shù)名類型必填說明
reserved 1050+Boolean是否持久化訂閱,默認為 false。機制:設(shè)置為 true,頁面跳轉(zhuǎn),不會自動取消訂閱,需手動取消訂閱
coordType 1050+String坐標(biāo)系類型,可選值可通過 getSupportedCoordTypes 獲取,默認為 wgs84
callbackFunction每次位置信息發(fā)生變化,都會被回調(diào)
failFunction失敗回調(diào),原因可能是用戶拒絕
callback返回值:
參數(shù)名類型說明
longitudeNumber經(jīng)度
latitudeNumber緯度
accuracy 1040+Number精確度
time 1040+Number時間
fail返回錯誤代碼
錯誤碼 說明
201 用戶拒絕,獲取定位權(quán)限失敗
1000 1000+ 系統(tǒng)位置開關(guān)關(guān)閉

示例:

geolocation.subscribe({
  callback: function (data) {
    console.log(`handling success: longitude = ${data.longitude}, latitude = ${data.latitude}`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

geolocation.unsubscribe()

取消監(jiān)聽地理位置

參數(shù):

示例:

geolocation.unsubscribe()

geolocation.getSupportedCoordTypes()

獲取支持的坐標(biāo)系類型

參數(shù):

返回值:

字符串?dāng)?shù)組。當(dāng)前支持的坐標(biāo)系類型,如 [ 'wgs84' ]

示例:

var types = geolocation.getSupportedCoordTypes()

后臺運行限制

manifest 中申請后可用。

后臺運行詳細用法參見 后臺運行腳本。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號