鴻蒙開發設備管理:【@ohos.geolocation (位置服務)】

位置服務

icon-note.gif 說明: 本模塊首批接口從API version 7開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。

導入模塊

import geolocation from '@ohos.geolocation';

geolocation.on(‘locationChange’)

on(type: ‘locationChange’, request: LocationRequest, callback: Callback) : void

開啟位置變化訂閱,并發起定位請求。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 參數:

    參數名類型必填說明
    typestring設置事件類型。type為“locationChange”,表示位置變化。
    requestLocationRequest設置位置請求參數。
    callbackCallback<[Location]>接收位置變化狀態變化監聽。
  • 示例:

    var requestInfo = {'priority': 0x203, 'scenario': 0x300, 'timeInterval': 0, 'distanceInterval': 0, 'maxAccuracy': 0};
    var locationChange = (location) => {console.log('locationChanger: data: ' + JSON.stringify(location));
    };
    geolocation.on('locationChange', requestInfo, locationChange);
    

geolocation.off(‘locationChange’)

off(type: ‘locationChange’, callback?: Callback) : void

關閉位置變化訂閱,并刪除對應的定位請求。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 參數:

    參數名類型必填說明
    typestring設置事件類型。type為“locationChange”,表示位置變化。
    callbackCallback<[Location]>接收位置變化狀態變化監聽。
  • 示例:

    var requestInfo = {'priority': 0x203, 'scenario': 0x300, 'timeInterval': 0, 'distanceInterval': 0, 'maxAccuracy': 0};
    var locationChange = (location) => {console.log('locationChanger: data: ' + JSON.stringify(location));
    };
    geolocation.on('locationChange', requestInfo, locationChange);
    geolocation.off('locationChange', locationChange);
    

geolocation.on(‘locationServiceState’)

on(type: ‘locationServiceState’, callback: Callback) : void

訂閱位置服務狀態變化。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 參數:

    參數名類型必填說明
    typestring設置事件類型。type為“locationServiceState”,表示位置服務狀態。
    callbackCallback接收位置服務狀態變化監聽。
  • 示例:

    var locationServiceState = (state) => {console.log('locationServiceState: ' + state);
    }
    geolocation.on('locationServiceState', locationServiceState);
    

geolocation.off(‘locationServiceState’)

off(type: ‘locationServiceState’, callback?: Callback) : void;

取消訂閱位置服務狀態變化。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 參數:

    參數名類型必填說明
    typestring設置事件類型。type為“locationServiceState”,表示位置服務狀態。
    callbackCallback接收位置服務狀態變化監聽。
  • 示例:

    var locationServiceState = (state) => {console.log('locationServiceState: state: ' + state);
    }
    geolocation.on('locationServiceState', locationServiceState);
    geolocation.off('locationServiceState', locationServiceState);
    

geolocation.on(‘cachedGnssLocationsReporting’)8+

on(type: ‘cachedGnssLocationsReporting’, request: CachedGnssLocationsRequest, callback: Callback<Array>) : void;

訂閱緩存GNSS定位結果上報事件。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Gnss

  • 參數:

    參數名類型必填說明
    typestring設置事件類型。type為“cachedGnssLocationsReporting”,表示GNSS緩存定位結果上報。
    requestCachedGnssLocationsRequestGNSS緩存功能配置參數
    callbackCallback接收GNSS緩存位置上報。
  • 示例:

    var cachedLocationsCb = (locations) => {console.log('cachedGnssLocationsReporting: locations: ' + locations);
    }
    var requestInfo = {'reportingPeriodSec': 10, 'wakeUpCacheQueueFull': true};
    geolocation.on('cachedGnssLocationsReporting', requestInfo, cachedLocationsCb);
    

geolocation.off(‘cachedGnssLocationsReporting’)8+

off(type: ‘cachedGnssLocationsReporting’, callback?: Callback<Array>) : void;

取消訂閱緩存GNSS定位結果上報事件。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Gnss

  • 參數:

    參數名類型必填說明
    typestring設置事件類型。type為“cachedGnssLocationsReporting”,表示GNSS緩存定位結果上報。
    callbackCallback接收GNSS緩存位置上報。
  • 示例:

    var cachedLocationsCb = (locations) => {console.log('cachedGnssLocationsReporting: locations: ' + locations);
    }
    var requestInfo = {'reportingPeriodSec': 10, 'wakeUpCacheQueueFull': true};
    geolocation.on('cachedGnssLocationsReporting', requestInfo, cachedLocationsCb);
    geolocation.off('cachedGnssLocationsReporting');
    

geolocation.on(‘gnssStatusChange’)8+

on(type: ‘gnssStatusChange’, callback: Callback) : void;

訂閱GNSS衛星狀態信息上報事件。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Gnss

  • 參數:

    參數名類型必填說明
    typestring設置事件類型。type為“gnssStatusChange”,表示訂閱GNSS衛星狀態信息上報。
    callbackCallback接收GNSS衛星狀態信息上報。
  • 示例:

    var gnssStatusCb = (satelliteStatusInfo) => {console.log('gnssStatusChange: ' + satelliteStatusInfo);
    }
    geolocation.on('gnssStatusChange', gnssStatusCb);
    

geolocation.off(‘gnssStatusChange’)8+

off(type: ‘gnssStatusChange’, callback?: Callback) : void;

取消訂閱GNSS衛星狀態信息上報事件。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Gnss

  • 參數:

    參數名類型必填說明
    typestring設置事件類型。type為“gnssStatusChange”,表示訂閱GNSS衛星狀態信息上報。
    callbackCallback接收GNSS衛星狀態信息上報。
  • 示例:

    var gnssStatusCb = (satelliteStatusInfo) => {console.log('gnssStatusChange: ' + satelliteStatusInfo);
    }
    geolocation.on('gnssStatusChange', gnssStatusCb);
    geolocation.off('gnssStatusChange', gnssStatusCb);
    

geolocation.on(‘nmeaMessageChange’)8+

on(type: ‘nmeaMessageChange’, callback: Callback) : void;

訂閱GNSS NMEA信息上報事件。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Gnss

  • 參數:

    參數名類型必填說明
    typestring設置事件類型。type為“nmeaMessageChange”,表示訂閱GNSS NMEA信息上報。
    callbackCallback接收GNSS NMEA信息上報。
  • 示例:

    var nmeaCb = (str) => {console.log('nmeaMessageChange: ' + str);
    }
    geolocation.on('nmeaMessageChange', nmeaCb );
    

geolocation.off(‘nmeaMessageChange’)8+

off(type: ‘nmeaMessageChange’, callback?: Callback) : void;

取消訂閱GNSS NMEA信息上報事件。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Gnss

  • 參數:

    參數名類型必填說明
    typestring設置事件類型。type為“nmeaMessageChange”,表示訂閱GNSS NMEA信息上報。
    callbackCallback接收GNSS NMEA信息上報。
  • 示例:

    var nmeaCb = (str) => {console.log('nmeaMessageChange: ' + str);
    }
    geolocation.on('nmeaMessageChange', nmeaCb);
    geolocation.off('nmeaMessageChange', nmeaCb);
    

geolocation.on(‘fenceStatusChange’)8+

on(type: ‘fenceStatusChange’, request: GeofenceRequest, want: WantAgent) : void;

添加一個圍欄,并訂閱地理圍欄事件。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Geofence

  • 參數:

    參數名類型必填說明
    typestring設置事件類型。type為“fenceStatusChange”,表示訂閱圍欄事件上報。
    requestGeofenceRequest圍欄的配置參數。
    wantWantAgent用于接收地理圍欄事件上報(進出圍欄)。
  • 示例:

    import WantAgent from '@ohos.wantAgent';
    import { OperationType, WantAgentFlags } from '@ohos.wantagent';
    //wantAgent對象
    var wantAgent;
    //getWantAgent回調
    function getWantAgentCallback(err, data) {console.info("==========================>getWantAgentCallback=======================>");if (err.code == 0) {wantAgent = data;} else {console.info('----getWantAgent failed!----');}
    }
    //WantAgentInfo對象
    var wantAgentInfo = {wants: [{deviceId: "deviceId",bundleName: "com.neu.setResultOnAbilityResultTest1",abilityName: "com.example.test.MainAbility",action: "action1",entities: ["entity1"],type: "MIMETYPE",uri: "key={true,true,false}",parameters:{mykey0: 2222,mykey1: [1, 2, 3],mykey2: "[1, 2, 3]",mykey3: "ssssssssssssssssssssssssss",mykey4: [false, true, false],mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],mykey6: true,}}],operationType: OperationType.START_ABILITIES,requestCode: 0,wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
    }
    WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
    var requestInfo = {'priority': 0x201, 'scenario': 0x301, "geofence": {"latitude": 121, "longitude": 26, "radius": 100, "expiration": 10000}};
    geolocation.on('fenceStatusChange', requestInfo, wantAgent);
    

geolocation.off(‘fenceStatusChange’)8+

off(type: ‘fenceStatusChange’, request: GeofenceRequest, want: WantAgent) : void;

刪除一個圍欄,并取消訂閱該圍欄事件。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Geofence

  • 參數:

    參數名類型必填說明
    typestring設置事件類型。type為“fenceStatusChange”,表示訂閱圍欄事件上報。
    requestGeofenceRequest圍欄的配置參數。
    wantWantAgent用于接收地理圍欄事件上報(進出圍欄)。
  • 示例:

    import WantAgent from '@ohos.wantAgent';
    import { OperationType, WantAgentFlags } from '@ohos.wantagent';
    //wantAgent對象
    var wantAgent;
    //getWantAgent回調
    function getWantAgentCallback(err, data) {console.info("==========================>getWantAgentCallback=======================>");if (err.code == 0) {wantAgent = data;} else {console.info('----getWantAgent failed!----');}
    }
    //WantAgentInfo對象
    var wantAgentInfo = {wants: [{deviceId: "deviceId",bundleName: "com.neu.setResultOnAbilityResultTest1",abilityName: "com.example.test.MainAbility",action: "action1",entities: ["entity1"],type: "MIMETYPE",uri: "key={true,true,false}",parameters:{mykey0: 2222,mykey1: [1, 2, 3],mykey2: "[1, 2, 3]",mykey3: "ssssssssssssssssssssssssss",mykey4: [false, true, false],mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],mykey6: true,}}],operationType: OperationType.START_ABILITIES,requestCode: 0,wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
    }
    WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
    var requestInfo = {'priority': 0x201, 'scenario': 0x301, "geofence": {"latitude": 121, "longitude": 26, "radius": 100, "expiration": 10000}};
    geolocation.on('fenceStatusChange', requestInfo, wantAgent);
    geolocation.off('fenceStatusChange', requestInfo, wantAgent);
    

geolocation.getCurrentLocation

getCurrentLocation(request: CurrentLocationRequest, callback: AsyncCallback) : void

獲取當前位置,使用callback回調異步返回結果。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 參數:

    參數名類型必填說明
    request[CurrentLocationRequest]設置位置請求參數。
    callbackAsyncCallback<[Location]>用來接收位置信息的回調。
  • 示例:

    var requestInfo = {'priority': 0x203, 'scenario': 0x300,'maxAccuracy': 0};
    var locationChange = (err, location) => {console.log('locationChanger: ' + err + 'data: ' + location);
    };
    geolocation.getCurrentLocation(requestInfo, locationChange);
    geolocation.getCurrentLocation(locationChange);
    

geolocation.getCurrentLocation

getCurrentLocation(request?: CurrentLocationRequest) : Promise

獲取當前位置,使用Promise方式異步返回結果。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 參數:

    參數名類型必填說明
    request[CurrentLocationRequest]設置位置請求參數。
  • 返回值:

    參數名說明
    Promise<[Location]>返回位置信息。
  • 示例:

    var requestInfo = {'priority': 0x203, 'scenario': 0x300,'maxAccuracy': 0};
    locationEventListener.getCurrentLocation(requestInfo).then((result) => {console.log('current location: ' + JSON.stringify(result));
    });
    

geolocation.getLastLocation

getLastLocation(callback: AsyncCallback) : void

獲取上一次位置,使用callback回調異步返回結果。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 參數:

    參數名類型必填說明
    callbackAsyncCallback<[Location]>用來接收上次位置的回調。
  • 示例:

    geolocation.getLastLocation((err, data) => {console.log('getLastLocation: ' + err + " data: " + JSON.stringify(data));
    });
    

geolocation.getLastLocation

getLastLocation() : Promise

獲取上一次位置,使用Promise方式異步返回結果。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 返回值:

    參數名說明
    Promise<[Location]>返回上次位置信息。
  • 示例:

    geolocation.getLastLocation().then((result) => {console.log('getLastLocation: result: ' + JSON.stringify(result));
    });
    

geolocation.isLocationEnabled

isLocationEnabled(callback: AsyncCallback) : void

判斷位置服務是否已經打開,使用callback回調異步返回結果。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 參數:

    參數名類型必填說明
    callbackAsyncCallback用來接收位置服務狀態的回調。
  • 示例:

    geolocation.isLocationEnabled((err, data) => {console.log('isLocationEnabled: ' + err + " data: " + data);
    });
    

geolocation.isLocationEnabled

isLocationEnabled() : Promise

判斷位置服務是否已經開啟,使用Promise方式異步返回結果。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 返回值:

    參數名說明
    Promise返回位置服務是否可用的狀態。
  • 示例:

    geolocation.isLocationEnabled().then((result) => {console.log('promise, isLocationEnabled: ' + result);
    });
    

geolocation.requestEnableLocation

requestEnableLocation(callback: AsyncCallback) : void

請求打開位置服務,使用callback回調異步返回結果。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 參數:

    參數名類型必填說明
    callbackAsyncCallback用來接收位置服務狀態的回調。
  • 示例:

    geolocation.requestEnableLocation((err, data) => {console.log('requestEnableLocation: ' + err + " data: " + data);
    });
    

geolocation.requestEnableLocation

requestEnableLocation() : Promise

請求打開位置服務,使用Promise方式異步返回結果。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 返回值:

    參數名說明
    Promise返回位置服務是否可用。
  • 示例:

    geolocation.requestEnableLocation().then((result) => {console.log('promise, requestEnableLocation: ' + result);
    });
    

geolocation.enableLocation

enableLocation(callback: AsyncCallback) : void;

打開位置服務,使用callback回調異步返回結果。

系統API:此接口為系統接口,三方應用不支持調用。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 參數:

    參數名類型必填說明
    callbackAsyncCallback用來接收位置服務狀態的回調。
  • 示例:

    geolocation.enableLocation((err, data) => {console.log('enableLocation: ' + err + " data: " + data);
    });
    

geolocation.enableLocation

enableLocation() : Promise

打開位置服務,使用Promise方式異步返回結果。

系統API:此接口為系統接口,三方應用不支持調用。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 返回值:

    參數名說明
    Promise返回位置服務是否可用。
  • 示例:

    geolocation.enableLocation().then((result) => {console.log('promise, enableLocation: ' + result);
    });
    

geolocation.disableLocation

disableLocation(callback: AsyncCallback) : void;

打開位置服務,使用callback回調異步返回結果。

系統API:此接口為系統接口,三方應用不支持調用。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 參數:

    參數名類型必填說明
    callbackAsyncCallback用來接收位置服務狀態的回調。
  • 示例:

    geolocation.disableLocation((err, data) => {console.log('disableLocation: ' + err + " data: " + data);
    });
    

geolocation.disableLocation

disableLocation() : Promise

打開位置服務,使用Promise方式異步返回結果。

系統API:此接口為系統接口,三方應用不支持調用。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 返回值:

    參數名說明
    Promise返回位置服務是否可用。
  • 示例:

    geolocation.disableLocation().then((result) => {console.log('promise, disableLocation: ' + result);
    });
    

geolocation.isGeoServiceAvailable

isGeoServiceAvailable(callback: AsyncCallback) : void

判斷(逆)地理編碼服務狀態,使用callback回調異步返回結果。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Geocoder

  • 參數:

    參數名類型必填說明
    callbackAsyncCallback用來接收地理編碼服務狀態的回調。
  • 示例:

    geolocation.isGeoServiceAvailable((err, data) => {console.log('isGeoServiceAvailable: ' + err + " data: " + data);
    });
    

geolocation.isGeoServiceAvailable

isGeoServiceAvailable() : Promise

判斷(逆)地理編碼服務狀態,使用Promise方式異步返回結果。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Geocoder

  • 返回值:

    參數名說明
    Promise返回地理編碼服務是否可用的狀態。
  • 示例:

    geolocation.isGeoServiceAvailable().then((result) => {console.log('promise, isGeoServiceAvailable: ' + result);
    });
    

geolocation.getAddressesFromLocation

getAddressesFromLocation(request: ReverseGeoCodeRequest, callback: AsyncCallback<Array>) : void

調用逆地理編碼服務,將坐標轉換為地理描述,使用callback回調異步返回結果。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Geocoder

  • 參數:

    參數名類型必填說明
    request[ReverseGeoCodeRequest]設置逆地理編碼請求的相關參數。
    callbackAsyncCallback<Array<[GeoAddress]>>設置接收逆地理編碼請求的回調參數。
  • 示例:

    var reverseGeocodeRequest = {"latitude": 31.12, "longitude": 121.11, "maxItems": 1};
    geolocation.getAddressesFromLocation(reverseGeocodeRequest, (err, data) => {console.log('getAddressesFromLocation: ' + err + " data: " + JSON.stringify(data));
    });
    

geolocation.getAddressesFromLocation

getAddressesFromLocation(request: ReverseGeoCodeRequest) : Promise<Array>;

調用逆地理編碼服務,將坐標轉換為地理描述,使用Promise方式異步返回結果。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Geocoder

  • 參數:

    參數名類型必填說明
    request[ReverseGeoCodeRequest]設置逆地理編碼請求的相關參數。
  • 返回值:

    參數名說明
    Promise<Array<[GeoAddress]>>返回地理描述信息。
  • 示例:

    var reverseGeocodeRequest = {"latitude": 31.12, "longitude": 121.11, "maxItems": 1};
    geolocation.getAddressesFromLocation(reverseGeocodeRequest).then((data) => {console.log('getAddressesFromLocation: ' + JSON.stringify(data));
    });
    

geolocation.getAddressesFromLocationName

getAddressesFromLocationName(request: GeoCodeRequest, callback: AsyncCallback<Array>) : void

調用地理編碼服務,將地理描述轉換為具體坐標,使用callback回調異步返回結果。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Geocoder

  • 參數:

    參數名類型必填說明
    request[GeoCodeRequest]設置地理編碼請求的相關參數。
    callbackAsyncCallback<Array<[GeoAddress])>>設置接收地理編碼請求的回調參數。
  • 示例:

    var geocodeRequest = {"description": "上海市浦東新區xx路xx號", "maxItems": 1};
    geolocation.getAddressesFromLocationName(geocodeRequest, (err, data) => {console.log('getAddressesFromLocationName: ' + err + " data: " + JSON.stringify(data));
    });
    

geolocation.getAddressesFromLocationName

getAddressesFromLocationName(request: GeoCodeRequest) : Promise<Array>

調用地理編碼服務,將地理描述轉換為具體坐標,使用Promise方式異步返回結果。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Geocoder

  • 參數:

    參數名類型必填說明
    request[GeoCodeRequest]設置地理編碼請求的相關參數。
  • 返回值:

    參數名說明
    Promise<Array<[GeoAddress]>>設置接收地理編碼請求的回調參數。
  • 示例:

    var geocodeRequest = {"description": "上海市浦東新區xx路xx號", "maxItems": 1};
    geolocation.getAddressesFromLocationName(geocodeRequest).then((result) => {console.log('getAddressesFromLocationName: ' + JSON.stringify(result));
    });
    

geolocation.getCachedGnssLocationsSize8+

getCachedGnssLocationsSize(callback: AsyncCallback) : void;

獲取GNSS芯片緩存位置的個數。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Gnss

  • 參數:

    參數名類型必填說明
    callbackAsyncCallback用來接收GNSS芯片緩存位置個數的回調。
  • 示例:

    geolocation.getCachedGnssLocationsSize((err, size) => {console.log('getCachedGnssLocationsSize: err:' + err + " size: " + size);
    });
    

geolocation.getCachedGnssLocationsSize8+

getCachedGnssLocationsSize() : Promise;

獲取GNSS芯片緩存位置的個數。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Gnss

  • 返回值:

    參數名說明
    Promise返回GNSS緩存位置的個數。
  • 示例:

    geolocation.getCachedGnssLocationsSize().then((result) => {console.log('promise, getCachedGnssLocationsSize: ' + result);
    });
    

geolocation.flushCachedGnssLocations8+

flushCachedGnssLocations(callback: AsyncCallback) : void;

讀取并清空GNSS芯片所有緩存位置。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Gnss

  • 參數:

    參數名類型必填說明
    callbackAsyncCallback用來接收清空GNSS芯片緩存位置操作的結果。
  • 示例:

    geolocation.flushCachedGnssLocations((err, result) => {console.log('flushCachedGnssLocations: err:' + err + " result: " + result);
    });
    

geolocation.flushCachedGnssLocations8+

flushCachedGnssLocations() : Promise;

讀取并清空GNSS芯片所有緩存位置。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Gnss

  • 返回值:

    參數名說明
    Promise清空所有GNSS緩存位置是否成功。
  • 示例:

    geolocation.flushCachedGnssLocations().then((result) => {console.log('promise, flushCachedGnssLocations: ' + result);
    });
    

geolocation.sendCommand8+

sendCommand(command: LocationCommand, callback: AsyncCallback) : void;

給位置服務子系統的各個部件發送擴展命令。只有系統應用才能調用。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 參數:

    參數名類型必填說明
    commandLocationCommand指定目標場景,和將要發送的命令(字符串)。
    callbackAsyncCallback用來接收命令發送的結果。
  • 示例:

    var requestInfo = {'scenario': 0x301, 'command': "command_1"};
    geolocation.sendCommand(requestInfo, (err, result) => {console.log('sendCommand: err:' + err + " result: " + result);
    });
    

geolocation.sendCommand8+

sendCommand(command: LocationCommand) : Promise;

給位置服務子系統的各個部件發送擴展命令。只有系統應用才能調用。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 參數:

    參數名類型必填說明
    commandLocationCommand指定目標場景,和將要發送的命令(字符串)。
  • 返回值:

    參數名說明
    Promise表示命令發送成功或失敗。
  • 示例:

    var requestInfo = {'scenario': 0x301, 'command': "command_1"};
    geolocation.sendCommand(requestInfo).then((result) => {console.log('promise, sendCommand: ' + result);
    });
    

geolocation.isLocationPrivacyConfirmed8+

isLocationPrivacyConfirmed(type : LocationPrivacyType, callback: AsyncCallback) : void;

查詢用戶是否同意定位服務隱私申明,是否同意啟用定位服務。只有系統應用才能調用。

系統API:此接口為系統接口,三方應用不支持調用。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 參數:

    參數名類型必填說明
    typeLocationPrivacyType指定隱私申明場景,例如開機向導中的隱私申明、開啟網絡定位功能時彈出的隱私申明等。
    callbackAsyncCallback表示用戶是否同意定位服務隱私申明。
  • 示例:

    geolocation.isLocationPrivacyConfirmed(1, (err, result) => {console.log('isLocationPrivacyConfirmed: err:' + err + " result: " + result);
    });
    

geolocation.isLocationPrivacyConfirmed8+

isLocationPrivacyConfirmed(type : LocationPrivacyType,) : Promise;

查詢用戶是否同意定位服務隱私申明,是否同意啟用定位服務。只有系統應用才能調用。

系統API:此接口為系統接口,三方應用不支持調用。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 參數:

    參數名類型必填說明
    typeLocationPrivacyType指定隱私申明場景,例如開機向導中的隱私申明、開啟網絡定位功能時彈出的隱私申明等。
  • 返回值:

    參數名說明
    Promise表示用戶是否同意定位服務隱私申明。
  • 示例:

    geolocation.isLocationPrivacyConfirmed(1).then((result) => {console.log('promise, isLocationPrivacyConfirmed: ' + result);
    });
    

geolocation.setLocationPrivacyConfirmStatus8+

setLocationPrivacyConfirmStatus(type : LocationPrivacyType, isConfirmed: boolean, callback: AsyncCallback) : void;

設置用戶勾選定位服務隱私申明的狀態,記錄用戶是否同意啟用定位服務。只有系統應用才能調用。

系統API:此接口為系統接口,三方應用不支持調用。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 參數:

    參數名類型必填說明
    typeLocationPrivacyType指定隱私申明場景,例如開機向導中的隱私申明、開啟網絡定位功能時彈出的隱私申明等。
    isConfirmedboolean表示用戶是否同意定位服務隱私申明。
    callbackAsyncCallback表示操作是否成功。
  • 示例:

    geolocation.setLocationPrivacyConfirmStatus(1, true, (err, result) => {console.log('isLocationPrivacyConfirmed: err:' + err + " result: " + result);
    });
    

geolocation.setLocationPrivacyConfirmStatus8+

setLocationPrivacyConfirmStatus(type : LocationPrivacyType, isConfirmed : boolean) : Promise;

設置用戶勾選定位服務隱私申明的狀態,記錄用戶是否同意啟用定位服務。只有系統應用才能調用。

系統API:此接口為系統接口,三方應用不支持調用。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

  • 參數:

    參數名類型必填說明
    typeLocationPrivacyType指定隱私申明場景,例如開機向導中的隱私申明、開啟網絡定位功能時彈出的隱私申明等。
    isConfirmedboolean表示用戶是否同意定位服務隱私申明。
  • 返回值:

    參數名說明
    Promise表示操作是否成功。
  • 示例:

    geolocation.setLocationPrivacyConfirmStatus(1, true).then((result) => {console.log('promise, setLocationPrivacyConfirmStatus: ' + result);
    });
    

LocationRequestPriority

位置請求中位置信息優先級設置。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

名稱默認值說明
UNSET0x200表示未設置優先級。
ACCURACY0x201表示精度優先。
LOW_POWER0x202表示低功耗優先。
FIRST_FIX0x203表示快速獲取位置優先,如果應用希望快速拿到1個位置,可以將優先級設置為該字段。

LocationRequestScenario

位置請求中定位場景設置。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

名稱默認值說明
UNSET0x300表示未設置場景信息。
NAVIGATION0x301表示導航場景。
TRAJECTORY_TRACKING0x302表示運動軌跡記錄場景。
CAR_HAILING0x303表示打車場景。
DAILY_LIFE_SERVICE0x304表示日常服務使用場景。
NO_POWER0x305表示無功耗功場景,這種場景下不會主動觸發定位,會在其他應用定位時,才給當前應用返回位置。

GeoLocationErrorCode

位置服務中的錯誤碼信息。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

名稱默認值說明
INPUT_PARAMS_ERROR101表示輸入參數錯誤。
REVERSE_GEOCODE_ERROR102表示逆地理編碼接口調用失敗。
GEOCODE_ERROR103表示地理編碼接口調用失敗。
LOCATOR_ERROR104表示定位失敗。
LOCATION_SWITCH_ERROR105表示定位開關。
LAST_KNOWN_LOCATION_ERROR106表示獲取上次位置失敗。
LOCATION_REQUEST_TIMEOUT_ERROR107表示單次定位,沒有在指定時間內返回位置。

ReverseGeoCodeRequest

逆地理編碼請求接口。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Geocoder

名稱參數類型必填說明
localestring指定位置描述信息的語言,“zh”代表中文,“en”代表英文。
latitudenumber表示緯度信息,正值表示北緯,負值表示南緯。
longitudenumber表示經度信息,正值表示東經,負值表示西經。
maxItemsnumber指定返回位置信息的最大個數。

GeoCodeRequest

地理編碼請求接口。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Geocoder

名稱參數類型必填說明
localestring表示位置描述信息的語言,“zh”代表中文,“en”代表英文。
descriptionnumber表示位置信息描述,如“上海市浦東新區xx路xx號”。
maxItemsnumber表示返回位置信息的最大個數。
minLatitudenumber表示最小緯度信息,與下面三個參數一起,表示一個經緯度范圍。
minLongitudenumber表示最小經度信息。
maxLatitudenumber表示最大緯度信息。
maxLongitudenumber表示最大經度信息。

GeoAddress

地理編碼類型。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Geocoder

名稱參數類型必填說明
latitudenumber表示緯度信息,正值表示北緯,負值表示南緯。
longitudenumber表示經度信息,正值表示東經,負值表是西經。
localestring表示位置描述信息的語言,“zh”代表中文,“en”代表英文。
placeNamestring表示地區信息。
countryCodestring表示國家碼信息。
countryNamestring表示國家信息。
administrativeAreastring表示省份區域信息。
subAdministrativeAreastring表示表示子區域信息。
localitystring表示城市信息。
subLocalitystring表示子城市信息。
roadNamestring表示路名信息。
subRoadNamestring表示子路名信息。
premisesstring表示門牌號信息。
postalCodestring表示郵政編碼信息。
phoneNumberstring表示聯系方式信息。
addressUrlstring表示位置信息附件的網址信息。
descriptionsArray表示附加的描述信息。
descriptionsSizenumber表示附加的描述信息數量。

LocationRequest

位置信息請求類型。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

名稱參數類型必填說明
priority[LocationRequestPriority]表示優先級信息。
scenario[LocationRequestScenario]表示場景信息。
timeIntervalnumber表示上報位置信息的時間間隔。
distanceIntervalnumber表示上報位置信息的距離間隔。
maxAccuracynumber表示精度信息。

CurrentLocationRequest

當前位置信息請求類型。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

名稱參數類型必填說明
priority[LocationRequestPriority]表示優先級信息。
scenario[LocationRequestScenario]表示場景信息。
maxAccuracynumber表示精度信息,單位是米。
timeoutMsnumber表示超時時間,單位是毫秒,最小為1000毫秒。

SatelliteStatusInfo8+

衛星狀態信息。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Gnss

名稱參數類型必填說明
satellitesNumbernumber表示衛星個數。
satelliteIdsArray表示每個衛星的ID,數組類型。
carrierToNoiseDensitysArray表示載波噪聲功率譜密度比,即cn0。
altitudesArray表示高程信息。
azimuthsArray表示方位角。
carrierFrequenciesArray表示載波頻率。

CachedGnssLocationsRequest8+

請求訂閱GNSS緩存位置上報功能接口的配置參數。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Gnss

名稱參數類型必填說明
reportingPeriodSecnumber表示GNSS緩存位置上報的周期,單位是毫秒。
wakeUpCacheQueueFullbooleantrue表示GNSS芯片底層緩存隊列滿之后會主動喚醒AP芯片,并把緩存位置上報給應用。 false表示GNSS芯片底層緩存隊列滿之后不會主動喚醒AP芯片,會把緩存位置直接丟棄。

Geofence8+

GNSS圍欄的配置參數。目前只支持圓形圍欄。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Geofence

名稱參數類型必填說明
latitudenumber表示緯度。
longitudenumber表示經度。
radiusnumber表示圓形圍欄的半徑。
expirationnumber圍欄存活的時間,單位是毫秒。

GeofenceRequest8+

請求添加GNSS圍欄消息中攜帶的參數,包括定位優先級、定位場景和圍欄信息。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Geofence

名稱參數類型必填說明
priorityLocationRequestPriority表示位置信息優先級。
scenarioLocationRequestScenario表示定位場景。
geofenceGeofence表示圍欄信息。

LocationPrivacyType8+

定位服務隱私協議類型。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

名稱默認值說明
OTHERS0其他場景。
STARTUP1開機向導場景下的隱私協議。
CORE_LOCATION2開啟網絡定位時彈出的隱私協議。

LocationCommand8+

擴展命令結構體。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

名稱參數類型必填說明
scenarioLocationRequestScenario表示定位場景。
commandstring擴展命令字符串。

Location

在這里插入圖片描述

位置信息類型。

需要權限:ohos.permission.LOCATION

系統能力:SystemCapability.Location.Location.Core

名稱參數類型必填說明
latitudenumber表示緯度信息,正值表示北緯,負值表示南緯。
longitudenumber表示經度信息,正值表示東經,負值表是西經。
altitudenumber表示高度信息,單位米。
accuracynumber表示精度信息,單位米。
speednumber表示速度信息,單位米每秒。
timeStampnumber表示位置時間戳,UTC格式。
directionnumber表示航向信息。
timeSinceBootnumber表示位置時間戳,開機時間格式。
additionsArray附加信息。
additionSizenumber附加信息數量。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/37867.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/37867.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/37867.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

安卓開發自定義時間日期顯示組件

安卓開發自定義時間日期顯示組件 問題背景 實現時間和日期顯示&#xff0c;左對齊和對齊兩種效果&#xff0c;如下圖所示&#xff1a; 問題分析 自定義view實現一般思路&#xff1a; &#xff08;1&#xff09;自定義一個View &#xff08;2&#xff09;編寫values/attrs.…

poi-tl 生成 word 文件(插入文字、圖片、表格、圖表)

文章說明 本篇文章主要通過代碼案例的方式&#xff0c;展示 poi-tl 生成 docx 文件的一些常用操作&#xff0c;主要涵蓋以下內容 &#xff1a; 插入文本字符&#xff08;含樣式、超鏈接&#xff09;插入圖片插入表格引入標簽&#xff08;通過可選文字的方式&#xff0c;這種方…

俄羅斯防空系統

俄羅斯的S系列防空系統是一系列先進的地對空導彈系統&#xff0c;旨在防御各類空中威脅&#xff0c;包括飛機、無人機、巡航導彈和彈道導彈。以下是幾種主要的S系列防空系統&#xff1a; 1. **S-300系統**&#xff1a; - **S-300P**&#xff1a;最早期的版本&#xff0c;用…

翻譯造句練習

翻譯練習 翻譯 1&#xff1a;經常做運動會提高人的自信 翻譯 2&#xff1a;教學的質量對學生成績有很大的影響。 翻譯 3&#xff1a;家長和老師應該努力去減少小孩看電視的時間。 翻譯 4&#xff1a;經濟的下滑&#xff08;economic slowdown&#xff09;導致失業率的上升 翻譯…

大模型和數據庫最新結合進展

寫在前面 本文主要內容是上次接受 infoQ 訪談&#xff0c;百度智能云朱潔老師介紹了大模型和 AI 結合相關話題&#xff0c;這次整體再刷新下&#xff0c;給到對這個領域感興趣的同學。 當前&#xff0c;百度智能云云數據庫特惠專場開始&#xff01;熱銷規格新用戶免費使用&am…

Android中ViewModel+LiveData+DataBinding的配合使用(kotlin)

Android 中 ViewModel、LiveData 和 Data Binding 的配合使用&#xff08;Kotlin&#xff09; 摘要 本文將介紹如何在 Android 開發中結合使用 ViewModel、LiveData 和 Data Binding 進行數據綁定和狀態更新。我們將詳細探討這三者之間的關系&#xff0c;并展示如何在 Kotlin…

最逼真的簡易交通燈設計

最逼真的簡易交通燈設計 需要資料的請在文章末尾獲取&#xff08;有問題可以私信我哦~~&#xff09; 01 資料內容 Proteus仿真文件程序源碼實物制作&#xff0c;代碼修改&#xff0c;功能定制&#xff08;需額外收費&#xff0c;價格實惠&#xff0c;歡迎咨詢&#xff09; …

實驗場:在幾分鐘內使用 Elasticsearch 進行 RAG 應用程序實驗

作者&#xff1a;來自 Elastic Joe McElroy, Serena Chou 什么是 Playground&#xff08;實驗場&#xff09;&#xff1f; 我們很高興發布我們的 Playground 體驗 —- 一個低代碼界面&#xff0c;開發人員可以在幾分鐘內使用自己的私人數據探索他們選擇的 LLM。 在對對話式搜…

41割隊伍

上海市計算機學會競賽平臺 | YACSYACS 是由上海市計算機學會于2019年發起的活動,旨在激發青少年對學習人工智能與算法設計的熱情與興趣,提升青少年科學素養,引導青少年投身創新發現和科研實踐活動。https://www.iai.sh.cn/problem/387 題目描述 給定 ??n 個數字 ??1,?…

一周小計(1):實習初體驗

實習的第一周&#xff0c;從最開始的配環境做好準備工作&#xff0c;到拉項目熟悉項目&#xff0c;然后自己去寫需求&#xff0c;每一步都有很大收獲&#xff0c;得到很多人幫助真的好感謝&#xff0c;以下是個人這幾天的記錄與感想。 &#xff08;這個其實是我寫的周報&#x…

Hi3861 OpenHarmony嵌入式應用入門--LiteOS Semaphore做同步使用

信號量作為同步使用 創建一個Semaphore對象&#xff0c;并指定一個初始的計數值&#xff08;通常稱為“許可”或“令牌”的數量&#xff09;。這個計數值表示當前可用的資源數量或可以同時訪問共享資源的線程數。當一個線程需要訪問共享資源時&#xff0c;它會嘗試從Semaphore…

加油站可視化:打造智能化運營與管理新模式

智慧加油站可視化通過圖撲 HT 構建仿真的三維模型&#xff0c;將加油站的布局、設備狀態、人員活動等信息動態呈現。管理者可以通過直觀的可視化界面實時監控和分析運營狀況&#xff0c;快速做出決策&#xff0c;提高管理效率和安全水平&#xff0c;推動加油站向智能化管理轉型…

后端之路第三站(Mybatis)——結合案例講Mybatis怎么操作sql

先講一下準備工作整體流程要做什么 我們要基于一個員工管理系統作為案例&#xff0c;進行員工信息的【增、刪、改、查】 原理就是用Mybatis通過java語言來執行sql語句&#xff0c;來達到【增、刪、改、查】 一、準備工作 1、引入數據庫數據 首先我們把一個員工、部門表的數…

【51單片機入門】速通定時器

文章目錄 前言定時器是什么初始化定時器初始化的大概步驟TMOD寄存器C/T寄存器 觸發定時器中斷是什么中斷函數定時器點亮led 總結 前言 在嵌入式系統的開發中&#xff0c;定時器是一個非常重要的組成部分。它們可以用于產生精確的時間延遲&#xff0c;或者在特定的時間間隔內觸…

對外發布的PDF文檔進行數字證書簽名的重要性?

對外發布的PDF文檔進行數字證書簽名具有以下幾個重要性&#xff1a; 身份驗證&#xff1a;數字簽名可以證明文檔的來源&#xff0c;即確認文檔的簽署者身份。這如同在紙質文檔上手寫簽名或加蓋公章&#xff0c;但更安全可靠&#xff0c;因為數字簽名是基于加密技術&#xff0c;…

Java--常用類APl(復習總結)

前言: Java是一種強大而靈活的編程語言&#xff0c;具有廣泛的應用范圍&#xff0c;從桌面應用程序到企業級應用程序都能夠使用Java進行開發。在Java的編程過程中&#xff0c;使用標準類庫是非常重要的&#xff0c;因為標準類庫提供了豐富的類和API&#xff0c;可以簡化開發過…

【接口自動化測試】第三節.實現項目核心業務接口自動化

文章目錄 前言一、實現登錄接口對象封裝和調用 1.0 登錄接口的接口測試文檔 1.1 接口對象層&#xff08;封裝&#xff09; 1.2 測試腳本層&#xff08;調用&#xff09;二、課程新增接口對象封裝和調用 2.0 課程新增接口的接口測試文檔 2.1 接口對象層…

AVL樹模擬

1.概念 雖然二叉搜索樹可以縮短查找的效率&#xff0c;但如果數據有序或者接近有序時二叉搜索樹樹將退化為單支樹&#xff0c;查找元素相當于在順序表中搜索元素&#xff0c;效率低下。AVL 樹是具有一下性質的二叉搜索樹&#xff1a; 1.它的左右子樹都是AVL樹 2.左右子…

Mac 如何安裝 wget

1.安裝 Homebrew2.安裝 wget3.檢測 wget 是否安裝成功 1.安裝 Homebrew 在安裝 wget 之前需要安裝一個適用于 mac 的包管理器 Homebrew&#xff0c;打開 mac 終端執行如下命令進行安裝&#xff1a; /usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/h…

【Git】GitIgnore不生效

這里可能有兩種原因&#xff0c;一個沒有刷新Git緩存&#xff0c;二是Git忽略規則有問題 更新Git緩存 git rm -r --cached . git add . git commit -m "modify git ignore rule"Ignore規則 檢查下忽略文件的目錄表示是否正確 XXX忽略任意目錄下名為XXX的文件 …