From 79bde30977fcbed771925753e67ffe25e962c711 Mon Sep 17 00:00:00 2001 From: liu-binjun Date: Wed, 16 Mar 2022 22:08:34 +0800 Subject: [PATCH] add system.geolocation.d.ts Signed-off-by: liu-binjun --- api/@ohos.geolocation.d.ts | 8 +- api/@system.geolocation.d.ts | 181 +++++++++++++++++++++++++++++++++++ 2 files changed, 185 insertions(+), 4 deletions(-) create mode 100644 api/@system.geolocation.d.ts diff --git a/api/@ohos.geolocation.d.ts b/api/@ohos.geolocation.d.ts index 0f04d4073d..13d87e726d 100644 --- a/api/@ohos.geolocation.d.ts +++ b/api/@ohos.geolocation.d.ts @@ -75,7 +75,7 @@ declare namespace geolocation { * @param request Indicates the cached GNSS locations request parameters. * @param callback Indicates the callback for reporting the cached GNSS locations. */ - function on(type: 'cachedGnssLocationsReporting', request: CachedGnssLoactionsRequest, callback: Callback>) : void; + function on(type: 'cachedGnssLocationsReporting', request: CachedGnssLocationsRequest, callback: Callback>) : void; /** * unsubscribe to cache GNSS locations update messages @@ -200,7 +200,7 @@ declare namespace geolocation { * @since 7 * @syscap SystemCapability.Location.Location.Core * @systemapi - * @permission ohos.permission.LOCATION + * @permission ohos.permission.MANAGE_SECURE_SETTINGS * @param callback Indicates the callback for reporting the location switch result. */ function enableLocation(callback: AsyncCallback) : void; @@ -212,7 +212,7 @@ declare namespace geolocation { * @since 7 * @syscap SystemCapability.Location.Location.Core * @systemapi - * @permission ohos.permission.LOCATION + * @permission ohos.permission.MANAGE_SECURE_SETTINGS * @param callback Indicates the callback for reporting the location switch result. */ function disableLocation(callback: AsyncCallback) : void; @@ -309,7 +309,7 @@ declare namespace geolocation { * @syscap SystemCapability.Location.Location.Gnss * @permission ohos.permission.LOCATION */ - export interface CachedGnssLoactionsRequest { + export interface CachedGnssLocationsRequest { reportingPeriodSec: number; wakeUpCacheQueueFull: boolean; } diff --git a/api/@system.geolocation.d.ts b/api/@system.geolocation.d.ts new file mode 100644 index 0000000000..8a26be6c0b --- /dev/null +++ b/api/@system.geolocation.d.ts @@ -0,0 +1,181 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @syscap SystemCapability.Location.Location.Lite + */ +export interface GeolocationResponse { + /** + * Longitude. + * @since 3 + */ + longitude: number; + + /** + * Latitude. + * @since 3 + */ + latitude: number; + + /** + * Altitude. + * @since 3 + */ + altitude: number; + + /** + * Location accuracy. + * @since 3 + */ + accuracy: number; + + /** + * Time when the location is obtained. + * @since 3 + */ + time: number; +} + +/** + * @syscap SystemCapability.Location.Location.Lite + */ +export interface GetLocationOption { + /** + * Timeout duration, in milliseconds. + * For the rich device, the default value is 30000. + * For the lite wearable device, the default value is 180000. + * The timeout duration is necessary in case no result is returned if the request to obtain the geographic location is rejected for the lack of the required permission, weak positioning signal, or incorrect location settings. After the timeout duration expires, the fail function will be called. + * The value is a 32-digit positive integer. + * If the value set is less than or equal to 0, the default value will be used. + * @since 3 + */ + timeout?: number; + + /** + * Coordinate system type. Available types can be obtained using getSupportedCoordTypes. + * The default type is wgs84. + * @since 3 + */ + coordType?: string; + + /** + * Called when the geographic location is obtained. + * @since 3 + */ + success?: (data: GeolocationResponse) => void; + + /** + * Called when the location types fail to be obtained + * @since 3 + */ + fail?: (data: string, code: number) => void; + + /** + * Called when the execution is completed. + * @since 3 + */ + complete?: () => void; +} + +/** + * @syscap SystemCapability.Location.Location.Lite + */ +export interface GetLocationTypeResponse { + /** + * @since 3 + */ + types: Array; +} + +/** + * @syscap SystemCapability.Location.Location.Lite + */ +export interface GetLocationTypeOption { + /** + * Called when the location types are obtained. + * @since 3 + */ + success?: (data: GetLocationTypeResponse) => void; + + /** + * Called when the location types fail to be obtained. + * @since 3 + */ + fail?: (data: string, code: number) => void; + + /** + * Called when the execution is completed. + * @since 3 + */ + complete?: () => void; +} + +/** + * @syscap SystemCapability.Location.Location.Lite + */ +export interface SubscribeLocationOption { + /** + * Coordinate system type. Available types can be obtained using getSupportedCoordTypes. + * The default type is wgs84. + * @since 3 + */ + coordType?: string; + + /** + * Called whenever the geographical location changes. + * @since 3 + */ + success: (data: GeolocationResponse) => void; + + /** + * Called when the listening fails. + * @since 3 + */ + fail?: (data: string, code: number) => void; +} + +/** + * @syscap SystemCapability.Location.Location.Lite + */ +export default class Geolocation { + /** + * Obtains the geographic location. + * @param options Options. + */ + static getLocation(options?: GetLocationOption): void; + + /** + * Obtains the location types supported by the system. + * @param options Options. + */ + static getLocationType(options?: GetLocationTypeOption): void; + + /** + * Listens to the geographical location. If this method is called multiple times, the last call takes effect. + * @param options Options. + */ + static subscribe(options: SubscribeLocationOption): void; + + /** + * Cancels listening to the geographical location. + */ + static unsubscribe(): void; + + /** + * Obtains the supported coordinate system types. + * @returns A string array of the supported coordinate system types, for example, ['wgs84']. + */ + static getSupportedCoordTypes(): Array; +} -- Gitee