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