地理位置
說明:
開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
導入模塊
import geolocation from '@system.geolocation';
權限列表
ohos.permission.LOCATION
geolocation.getLocation
getLocation(Object): void
獲取設備的地理位置。
系統能力: SystemCapability.Location.Location.Lite
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
timeout | number | 否 | 超時時間,單位為ms,默認值為30000。 設置超時,是為了防止出現權限被系統拒絕、定位信號弱或者定位設置不當,導致請求阻塞的情況。超時后會使用fail回調函數。 取值范圍為32位正整數。如果設置值小于等于0,系統按默認值處理。 |
coordType | string | 否 | 坐標系的類型,可通過getSupportedCoordTypes獲取可選值,缺省值為wgs84。 |
success | Function | 否 | 接口調用成功的回調函數。 |
fail | Function | 否 | 接口調用失敗的回調函數。 |
complete | Function | 否 | 接口調用結束的回調函數。 |
success返回值:
參數名 | 類型 | 說明 |
---|---|---|
longitude | number | 設備位置信息:經度。 |
latitude | number | 設備位置信息:緯度。 |
altitude | number | 設備位置信息:海拔。 |
accuracy | number | 設備位置信息:精確度。 |
time | number | 設備位置信息:時間。 |
fail返回錯誤代碼:
錯誤碼 | 說明 |
---|---|
601 | 獲取定位權限失敗,失敗原因:用戶拒絕。 |
602 | 權限未聲明。 |
800 | 超時,失敗原因:網絡狀況不佳或GPS不可用。 |
801 | 系統位置開關未打開。 |
802 | 該次調用結果未返回前接口又被重新調用,該次調用失敗返回錯誤碼。 |
示例:
export default {
getLocation() {
geolocation.getLocation({
success: function(data) {
console.log('success get location data. latitude:' + data.latitude);
},
fail: function(data, code) {
console.log('fail to get location. code:' + code + ', data:' + data);
},
});
},
}
geolocation.getLocationType
getLocationType(Object): void
獲取當前設備支持的定位類型。
系統能力: SystemCapability.Location.Location.Lite
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
success | Function | 否 | 接口調用成功的回調函數。 |
fail | Function | 否 | 接口調用失敗的回調函數。 |
complete | Function | 否 | 接口調用結束的回調函數。 |
success返回值:
參數名 | 類型 | 說明 |
---|---|---|
types | Array | 可選的定位類型['gps', 'network']。 |
示例:
export default {
getLocationType() {
geolocation.getLocationType({
success: function(data) {
console.log('success get location type:' + data.types[0]);
},
fail: function(data, code) {
console.log('fail to get location. code:' + code + ', data:' + data);
},
});
},
}
geolocation.subscribe
subscribe(Object): void
訂閱設備的地理位置信息。多次調用的話,只有最后一次的調用生效。
系統能力: SystemCapability.Location.Location.Lite
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
coordType | string | 否 | 坐標系的類型,可通過getSupportedCoordTypes獲取可選值,默認值為wgs84。 |
success | Function | 是 | 位置信息發生變化的回調函數。 |
fail | Function | 否 | 接口調用失敗的回調函數。 |
success返回值:
參數名 | 類型 | 說明 |
---|---|---|
longitude | number | 設備位置信息:經度。 |
latitude | number | 設備位置信息:緯度。 |
altitude | number | 設備位置信息:海拔。 |
accuracy | number | 設備位置信息:精確度。 |
time | number | 設備位置信息:時間。 |
fail返回錯誤代碼:
錯誤碼 | 說明 |
---|---|
601 | 獲取定位權限失敗,失敗原因:用戶拒絕。 |
602 | 權限未聲明。 |
801 | 系統位置開關未打開。 |
示例:
export default {
subscribe() {
geolocation.subscribe({
success: function(data) {
console.log('get location. latitude:' + data.latitude);
},
fail: function(data, code) {
console.log('fail to get location. code:' + code + ', data:' + data);
},
});
},
}
geolocation.unsubscribe
unsubscribe(): void
取消訂閱設備的地理位置信息。
系統能力: SystemCapability.Location.Location.Lite
示例:
export default {
unsubscribe() {
geolocation.unsubscribe();
},
}
geolocation.getSupportedCoordTypes
getSupportedCoordTypes(): Array
獲取設備支持的坐標系類型。
系統能力: SystemCapability.Location.Location.Lite
返回值:
類型 | 非空 | 說明 |
---|---|---|
Array | 是 | 表示坐標系類型,如[wgs84, gcj02]。 |
示例:
export default {
getSupportedCoordTypes() {
var types = geolocation.getSupportedCoordTypes();
},
}
審核編輯 黃宇
-
鴻蒙
+關注
關注
57文章
2313瀏覽量
42747
發布評論請先 登錄
相關推薦
評論