- getCurrentPosition: 獲取當前設備位置信息
- watchPosition: 監聽設備位置變化信息
- clearWatch: 關閉監聽設備位置信息
- Position: JSON對象,設備位置信息數據
- Address: JSON對象,地址信息
- Coordinates: JSON對象,地理坐標信息
- PositionOptions: JSON對象,監聽設備位置信息參數
- GeolocationError: JSON對象,定位錯誤信息
- GeolocationSuccessCallback: 獲取設備位置信息成功的回調函數
- GeolocationErrorCallback: 獲取設備位置信息失敗的回調函數
5+功能模塊(permissions)
{
// ...
"permissions":{
// ...
"Geolocation": {
"description": "位置信息"
}
}
}
getCurrentPosition
獲取當前設備位置信息
void plus.geolocation.getCurrentPosition(successCB, errorCB, option);
位置信息將通過手機GPS設備或其它信息如IP地址、移動網絡信號獲取,由于獲取位置信息可能需要較長的時間,當成功獲取位置信息后將通過successCB回調函數返回。愛掏網 - it200.com
- successCB:?(?GeolocationSuccessCallback?) 必選?獲取設備位置信息成功回調函數
- errorCB:?(?GeolocationErrorCallback?) 可選?獲取設備位置信息失敗回調函數
- options:?(?PositionOptions?) 可選?獲取設備位置信息的參數
void?: 無
- Android - 2.2+ (支持) :
支持
- iOS - 4.3+ (支持) :
支持
charset="utf-8">
>
uni-app使用plus注意事項
watchPosition
監聽設備位置變化信息
Number plus.geolocation.watchPosition(successCB, errorCB, option);
位置信息將通過手機GPS設備或其它信息如IP地址、移動網絡信號獲取。愛掏網 - it200.com 當位置信息更新后將通過successCB回調函數返回。愛掏網 - it200.com 位置信息獲取失敗則調用回調函數errorCB。愛掏網 - it200.com
- successCB:?(?GeolocationSuccessCallback?) 必選
設備位置信息更新成功回調函數
- errorCB:?(?GeolocationErrorCallback?) 可選
獲取設備位置信息失敗回調函數
- option:?(?PositionOptions?) 可選
監聽設備位置信息的參數
Number?: 用于標識位置信息監聽器,可通過clearWatch方法取消監聽。愛掏網 - it200.com
- Android - 2.2+ (支持) :
支持
- iOS - 4.3+ (支持) :
支持
charset="utf-8">
>
uni-app使用plus注意事項
clearWatch
關閉監聽設備位置信息
void plus.geolocation.clearWatch(watchId);
- watchId:?(?Number?) 必選
需要取消的位置監聽器標識,調用watchPosition方法的返回值。愛掏網 - it200.com
void?: 無
- Android - 2.2+ (支持) :
支持
- iOS - 4.3+ (支持) :
支持
charset="utf-8">
>
type="button" value="Cancel" onclick="cancel();">
uni-app使用plus注意事項
Position
JSON對象,設備位置信息數據
interface Position {
readonly attribute Coordinates coords;
readonly attribute String coordsType;
readonly attribute Number timestamp;
readonly attribute Address address;
readonly attribute String addresses;
}
- coords:?(Coordinates?類型 )地理坐標信息,包括經緯度、海拔、速度等信息
- coordsType:?(String?類型 )獲取到地理坐標信息的坐標系類型
可取以下坐標系類型: "wgs84":表示WGS-84坐標系; "gcj02":表示國測局經緯度坐標系; "bd09":表示百度墨卡托坐標系,僅百度定位支持; "bd09ll":表示百度經緯度坐標系,僅百度定位支持。愛掏網 - it200.com
- timestamp:?(Number?類型 )獲取到地理坐標的時間戳信息
時間戳值為從1970年1月1日至今的毫秒數。愛掏網 - it200.com
- address:?(Address?類型 )獲取到地理位置對應的地址信息
獲取地址信息需要連接到服務器進行解析,所以會消耗更多的資源,如果不需要獲取地址信息可通過設置PositionOptions參數的geocode屬性值為false避免獲取地址信息。愛掏網 - it200.com 如果沒有獲取到地址信息則返回undefined。愛掏網 - it200.com
平臺支持
- Android - 2.3+ (支持) :
使用系統定位模塊無法獲取位置信息。愛掏網 - it200.com
- iOS - 5.1+ (支持) :
系統定位模塊也支持獲取位置信息。愛掏網 - it200.com
- Android - 2.3+ (支持) :
- addresses:?(String?類型 )獲取完整地址描述信息
如果沒有獲取到地址信息則返回undefined。愛掏網 - it200.com
平臺支持
- Android - 2.3+ (支持) :
使用系統定位模塊無法獲取位置信息。愛掏網 - it200.com
- iOS - 5.1+ (支持) :
系統定位模塊也支持獲取位置信息。愛掏網 - it200.com
- Android - 2.3+ (支持) :
Address
JSON對象,地址信息
interface Address {
readonly attribute String country;
readonly attribute String province;
readonly attribute String city;
readonly attribute String district;
readonly attribute String street;
readonly attribute String streetNum;
readonly attribute String poiName;
readonly attribute String postalCode;
readonly attribute String cityCode;
}
- country:?(String?類型 )國家
如“中國”,如果無法獲取此信息則返回undefined。愛掏網 - it200.com
- province:?(String?類型 )省份名稱
如“北京市”,如果無法獲取此信息則返回undefined。愛掏網 - it200.com
- city:?(String?類型 )城市名稱
如“北京市”,如果無法獲取此信息則返回undefined。愛掏網 - it200.com
- district:?(String?類型 )區(縣)名稱
如“朝陽區”,如果無法獲取此信息則返回undefined。愛掏網 - it200.com
- street:?(String?類型 )街道信息
如“酒仙橋路”,如果無法獲取此信息則返回undefined。愛掏網 - it200.com
- streetNum:?(String?類型 )獲取街道門牌號信息
如“3號”,如果無法獲取此信息則返回undefined。愛掏網 - it200.com
- poiName:?(String?類型 )POI信息
如“電子城.國際電子總部”,如果無法獲取此信息則返回undefined。愛掏網 - it200.com
- postalCode:?(String?類型 )郵政編碼
如“100016”,如果無法獲取此信息則返回undefined。愛掏網 - it200.com
- cityCode:?(String?類型 )城市代碼
如“010”,如果無法獲取此信息則返回undefined。愛掏網 - it200.com
Coordinates
JSON對象,地理坐標信息
interface Coordinates {
readonly attribute double latitude;
readonly attribute double longitude;
readonly attribute double altitude;
readonly attribute double accuracy;
readonly attribute double altitudeAccuracy;
readonly attribute double heading;
readonly attribute double speed;
}
- latitude:?(Number?類型 )坐標緯度值
數據類型對象,地理坐標中的緯度值。愛掏網 - it200.com
- longitude:?(Number?類型 )坐標經度值
數據類型對象,地理坐標中的經度值。愛掏網 - it200.com
- altitude:?(Number?類型 )海拔信息
數據類型對象,如果無法獲取此信息,則此值為空(null)。愛掏網 - it200.com
- accuracy:?(Number?類型 )地理坐標信息的精確度信息
數據類型對象,單位為米,其有效值必須大于0。愛掏網 - it200.com
- altitudeAccuracy:?(Number?類型 )海拔的精確度信息
數據類型對象,單位為米,其有效值必須大于0。愛掏網 - it200.com如果無法獲取海拔信息,則此值為空(null)。愛掏網 - it200.com
- heading:?(Number?類型 )表示設備移動的方向
數據類型對象,范圍為0到360,表示相對于正北方向的角度。愛掏網 - it200.com如果無法獲取此信息,則此值為空(null)。愛掏網 - it200.com如果設備沒有移動則此值為NaN。愛掏網 - it200.com
- speed:?(Number?類型 )表示設備移動的速度
數據類型對象,單位為米每秒(m/s),其有效值必須大于0。愛掏網 - it200.com如果無法獲取速度信息,則此值為空(null)。愛掏網 - it200.com
PositionOptions
JSON對象,監聽設備位置信息參數
- enableHighAccuracy:?(Boolean?類型 )是否高精確度獲取位置信息
高精度獲取表示需要使用更多的系統資源,默認值為false。愛掏網 - it200.com
- timeout:?(Number?類型 )獲取位置信息的超時時間
單位為毫秒(ms),默認值為不超時。愛掏網 - it200.com如果在指定的時間內沒有獲取到位置信息則觸發錯誤回調函數。愛掏網 - it200.com
- maximumAge:?(Number?類型 )獲取位置信息的間隔時間
單位為毫秒(ms),默認值為1000(即1秒)。愛掏網 - it200.com調用plus.geolocation.watchPosition時為更新位置信息的間隔時間。愛掏網 - it200.com 注意:在不同定位模塊下支持范圍值可能不同,如百度定位模塊的間隔范圍為大于等于1秒,如果設置的值小于最小值則使用最小值。愛掏網 - it200.com
- provider:?(String?類型 )優先使用的定位模塊
可取以下供應者: "system":表示系統定位模塊,支持wgs84坐標系; "baidu":表示百度定位模塊,支持gcj02/bd09/bd09ll坐標系; "amap":表示高德定位模塊,支持gcj02坐標系。愛掏網 - it200.com 默認值按以下優先順序獲?。╝map>baidu>system),若指定的provider不存在或無效則返回錯誤回調。愛掏網 - it200.com 注意:百度/高德定位模塊需要配置百度/高德地圖相關參數才能正常使用。愛掏網 - it200.com
平臺支持
- Android - 2.2+ (支持)
- iOS - 4.5+ (支持) :
HBuilderX2.4.3+版本支持高德定位模塊,默認使用優先級(amap>baidu>system); HBuilderX2.4.2及以前版本不支持高德定位模塊,默認使用系統定位模塊。愛掏網 - it200.com
charset="utf-8">
> - coordsType:?(String?類型 )指定獲取的定位數據坐標系類型
可取以下坐標系類型: "wgs84":表示WGS-84坐標系; "gcj02":表示國測局經緯度坐標系; "bd09":表示百度墨卡托坐標系; "bd09ll":表示百度經緯度坐標系; provider為"system"時,支持wgs84坐標系,默認使用"wgs84"坐標系; provider為"baidu"時,支持gcj02/bd09/bd09ll坐標系,默認使用"gcj02"坐標系; provider為"amap"時,支持gcj02坐標系,默認使用"gcj02"坐標系。愛掏網 - it200.com 如果設置的坐標系類型provider不支持,則返回錯誤。愛掏網 - it200.com
- geocode:?(Boolean?類型 )是否解析地址信息
解析的地址信息保存到Position對象的address、addresses屬性中,true表示解析地址信息,false表示不解析地址信息,返回的Position對象的address、addresses屬性值為undefined,默認值為true。愛掏網 - it200.com 如果解析地址信息失敗則返回的Position對象的address、addresses屬性值為null。愛掏網 - it200.com
GeolocationError
JSON對象,定位錯誤信息
interface GeolocationError {
const Number PERMISSION_DENIED = 1;
const Number POSITION_UNAVAILABLE = 2;
const Number TIMEOUT = 3;
readonly attribute Number code;
readonly attribute String message;
}
這里根據W3C規范定義了定位標準錯誤碼,在此基礎上5+ 擴展了錯誤碼,參考?5+ API錯誤代碼中的“Geolocation模塊錯誤”
- PERMISSION_DENIED:?(Number?類型 )訪問權限被拒絕
系統不允許程序獲取定位功能,錯誤代碼常量值為1。愛掏網 - it200.com
- POSITION_UNAVAILABLE:?(Number?類型 )位置信息不可用
無法獲取有效的位置信息,錯誤代碼常量值為2。愛掏網 - it200.com
- TIMEOUT:?(Number?類型 )獲取位置信息超時
無法在指定的時間內獲取位置信息,錯誤代碼常量值為3。愛掏網 - it200.com
- code:?(Number?類型 )錯誤代碼
可取值:
- PERMISSION_DENIED - 用戶拒絕授權
- POSITION_UNAVAILABLE - 位置服務不可用,如系統定位服務關閉
- TIMEOUT - 定位超時,定位時超過PositionOptions.timeout設置的時間觸發,此時通??梢灾卦?/li>
- 其它錯誤 - 5+ 擴展錯誤碼,參考?5+ API錯誤代碼中的“Geolocation模塊錯誤”
- message:?(String?類型 )錯誤描述信息
詳細錯誤描述信息。愛掏網 - it200.com
GeolocationSuccessCallback
獲取設備位置信息成功的回調函數
void onSuccess( position ) {
// Get Position code.
}
- position:?(?Position?) 必選?設備的地理位置信息,參考Position
void?: 無
charset="utf-8">
>
uni-app使用plus注意事項
GeolocationErrorCallback
獲取設備位置信息失敗的回調函數
function void onGeolocationError( GeolocationError error ) {
// Handle error
var code = error.code; // 錯誤編碼
var message = error.message; // 錯誤描述信息
}
- error:?(?GeolocationError?) 必選?獲取位置操作的錯誤信息
可通過error.code(Number類型)獲取錯誤編碼; 可通過error.message(String類型)獲取錯誤描述信息。愛掏網 - it200.com
void?: 無
charset="utf-8">
>