鸿蒙开发学习【地图位置服务组件】

news2024/12/28 12:42:49

简介

移动终端设备已经深入人们日常生活的方方面面,如查看所在城市的天气、新闻轶事、出行打车、旅行导航、运动记录。这些习以为常的活动,都离不开定位用户终端设备的位置。

当用户处于这些丰富的使用场景中时,系统的位置定位能力可以提供实时准确的位置数据。对于开发者,设计基于位置体验的服务,也可以更好的满足用户的需求。

当应用在实现基于设备位置的功能时,如:驾车导航,记录运动轨迹等,可以调用该模块的API接口,完成位置信息的获取

基本概念

位置能力用于确定用户设备在哪里,系统使用位置坐标标示用户设备的位置,并使用多种定位技术提供位置服务,如GNSS定位、基站定位、WLAN/蓝牙定位(基站定位、WLAN/蓝牙定位后续统称“网络定位技术”)。通过这些定位技术,无论用户设备在室内或是户外,都可以准确地确定用户设备的位置。

  • 坐标

    系统以1984年世界大地坐标系统为参考,使用经度、纬度数据描述地球上的一个位置。

  • GNSS定位

    基于全球导航卫星系统,包含:GPS、GLONASS、北斗、Galileo等,通过导航卫星,设备芯片提供的定位算法,来确定设备准确位置。定位过程具体使用哪些定位系统,取决于用户设备的硬件能力。

  • 基站定位

    根据设备当前驻网基站和相邻基站的位置,估算设备当前位置。此定位方式的定位结果精度相对较低,并且需要设备可以访问蜂窝网络。

  • WLAN、蓝牙定位

    根据设备可搜索到的周围WLAN、蓝牙设备位置,估算设备当前位置。此定位方式的定位结果精度依赖设备周围可见的固定WLAN、蓝牙设备的分布,密度较高时,精度也相较与基站定位方式更高,同时也需要设备可以访问网络。

图 1 子系统架构图

更多鸿蒙知识更新在gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md参考前往学习。

OpenHarmony高级技能.png

约束

  • 使用设备的位置能力,需要用户进行确认并主动开启位置开关。如果位置开关没有开启,系统不会向任何应用提供位置服务。
  • 设备位置信息属于用户敏感数据,所以即使用户已经开启位置开关,应用在获取设备位置前仍需向用户申请位置访问权限。在用户确认允许后,系统才会向应用提供位置服务。

说明

接口说明

/*

 * 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.

 */



/**

 * @file

 * @kit LocationKit

 */



import { AsyncCallback, Callback } from './@ohos.base';

import { WantAgent } from './@ohos.wantAgent';



/**

 * Provides interfaces for initiating location requests, ending the location service,

 * and obtaining the location result cached by the system.

 *

 * @namespace geolocation

 * @permission ohos.permission.LOCATION

 * @syscap SystemCapability.Location.Location.Core

 * @since 7

 * @deprecated since 9

 */

declare namespace geolocation {

  /**

   * Subscribe location changed

   *

   * @permission ohos.permission.LOCATION

   * @param { 'locationChange' } type - Indicates the location service event to be subscribed to.

   * @param { LocationRequest } request - Indicates the location request parameters.

   * @param { Callback<Location> } callback - Indicates the callback for reporting the location result.

   * @syscap SystemCapability.Location.Location.Core

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.on#event:locationChange

   */

  function on(type: 'locationChange', request: LocationRequest, callback: Callback<Location>): void;



  /**

   * Unsubscribe location changed

   *

   * @permission ohos.permission.LOCATION

   * @param { 'locationChange' } type - Indicates the location service event to be subscribed to.

   * @param { Callback<Location> } [callback] - Indicates the callback for reporting the location result.

   * @syscap SystemCapability.Location.Location.Core

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.off#event:locationChange

   */

  function off(type: 'locationChange', callback?: Callback<Location>): void;



  /**

   * Subscribe location switch changed

   *

   * @permission ohos.permission.LOCATION

   * @param { 'locationServiceState' } type - Indicates the location service event to be subscribed to.

   * @param { Callback<boolean> } callback - Indicates the callback for reporting the location result.

   * @syscap SystemCapability.Location.Location.Core

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.on#event:locationEnabledChange

   */

  function on(type: 'locationServiceState', callback: Callback<boolean>): void;



  /**

   * Unsubscribe location switch changed

   *

   * @permission ohos.permission.LOCATION

   * @param { 'locationServiceState' } type - Indicates the location service event to be subscribed to.

   * @param { Callback<boolean> } [callback] - Indicates the callback for reporting the location result.

   * @syscap SystemCapability.Location.Location.Core

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.off#event:locationEnabledChange

   */

  function off(type: 'locationServiceState', callback?: Callback<boolean>): void;



  /**

   * Subscribe to cache GNSS locations update messages

   *

   * @permission ohos.permission.LOCATION

   * @param { 'cachedGnssLocationsReporting' } type - Indicates the location service event to be subscribed to.

   * @param { CachedGnssLocationsRequest } request - Indicates the cached GNSS locations request parameters.

   * @param { Callback<Array<Location>> } callback - Indicates the callback for reporting the cached GNSS locations.

   * @syscap SystemCapability.Location.Location.Gnss

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.on#event:cachedGnssLocationsChange

   */

  function on(type: 'cachedGnssLocationsReporting', request: CachedGnssLocationsRequest, callback: Callback<Array<Location>>): void;



  /**

   * Unsubscribe to cache GNSS locations update messages

   *

   * @permission ohos.permission.LOCATION

   * @param { 'cachedGnssLocationsReporting' } type - Indicates the location service event to be subscribed to.

   * @param { Callback<Array<Location>> } [callback] - Indicates the callback for reporting the cached gnss locations.

   * @syscap SystemCapability.Location.Location.Gnss

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.off#event:cachedGnssLocationsChange

   */

  function off(type: 'cachedGnssLocationsReporting', callback?: Callback<Array<Location>>): void;



  /**

   * Subscribe gnss status changed

   *

   * @permission ohos.permission.LOCATION

   * @param { 'gnssStatusChange' } type - Indicates the location service event to be subscribed to.

   * @param { Callback<SatelliteStatusInfo> } callback - Indicates the callback for reporting the gnss status change.

   * @syscap SystemCapability.Location.Location.Gnss

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.on#event:satelliteStatusChange

   */

  function on(type: 'gnssStatusChange', callback: Callback<SatelliteStatusInfo>): void;



  /**

   * Unsubscribe gnss status changed

   *

   * @permission ohos.permission.LOCATION

   * @param { 'gnssStatusChange' } type - Indicates the location service event to be subscribed to.

   * @param { Callback<SatelliteStatusInfo> } [callback] - Indicates the callback for reporting the gnss status change.

   * @syscap SystemCapability.Location.Location.Gnss

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.off#event:satelliteStatusChange

   */

  function off(type: 'gnssStatusChange', callback?: Callback<SatelliteStatusInfo>): void;



  /**

   * Subscribe nmea message changed

   *

   * @permission ohos.permission.LOCATION

   * @param { 'nmeaMessageChange' } type - Indicates the location service event to be subscribed to.

   * @param { Callback<string> } callback - Indicates the callback for reporting the nmea message.

   * @syscap SystemCapability.Location.Location.Gnss

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.on#event:nmeaMessage

   */

  function on(type: 'nmeaMessageChange', callback: Callback<string>): void;



  /**

   * Unsubscribe nmea message changed

   *

   * @permission ohos.permission.LOCATION

   * @param { 'nmeaMessageChange' } type - Indicates the location service event to be subscribed to.

   * @param { Callback<string> } [callback] - Indicates the callback for reporting the nmea message.

   * @syscap SystemCapability.Location.Location.Gnss

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.off#event:nmeaMessage

   */

  function off(type: 'nmeaMessageChange', callback?: Callback<string>): void;



  /**

   * Add a geofence and subscribe geo fence status changed

   *

   * @permission ohos.permission.LOCATION

   * @param { 'fenceStatusChange' } type - Indicates the location service event to be subscribed to.

   * @param { GeofenceRequest } request - Indicates the Geo-fence configuration parameters.

   * @param { WantAgent } want - Indicates which ability to start when the geofence event is triggered.

   * @syscap SystemCapability.Location.Location.Geofence

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.on#event:gnssFenceStatusChange

   */

  function on(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent): void;



  /**

   * Remove a geofence and unsubscribe geo fence status changed

   *

   * @permission ohos.permission.LOCATION

   * @param { 'fenceStatusChange' } type - Indicates the location service event to be subscribed to.

   * @param { GeofenceRequest } request - Indicates the Geo-fence configuration parameters.

   * @param { WantAgent } want - Indicates which ability to start when the geofence event is triggered.

   * @syscap SystemCapability.Location.Location.Geofence

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.off#event:gnssFenceStatusChange

   */

  function off(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent): void;



  /**

   * Obtain current location

   *

   * @permission ohos.permission.LOCATION

   * @param { CurrentLocationRequest } request - Indicates the location request parameters.

   * @param { AsyncCallback<Location> } callback - Indicates the callback for reporting the location result.

   * @syscap SystemCapability.Location.Location.Core

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.getCurrentLocation

   */

  function getCurrentLocation(request: CurrentLocationRequest, callback: AsyncCallback<Location>): void;



  /**

   * Obtain current location

   *

   * @permission ohos.permission.LOCATION

   * @param { AsyncCallback<Location> } callback - Indicates the callback for reporting the location result.

   * @syscap SystemCapability.Location.Location.Core

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.getCurrentLocation

   */

  function getCurrentLocation(callback: AsyncCallback<Location>): void;



  /**

   * Obtain current location

   *

   * @permission ohos.permission.LOCATION

   * @param { CurrentLocationRequest } [request] - Indicates the location request parameters.

   * @returns { Promise<Location> } The promise returned by the function.

   * @syscap SystemCapability.Location.Location.Core

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.getCurrentLocation

   */

  function getCurrentLocation(request?: CurrentLocationRequest): Promise<Location>;



  /**

   * Obtain last known location

   *

   * @permission ohos.permission.LOCATION

   * @param { AsyncCallback<Location> } callback - Indicates the callback for reporting the location result.

   * @syscap SystemCapability.Location.Location.Core

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.getLastLocation

   */

  function getLastLocation(callback: AsyncCallback<Location>): void;



  /**

   * Obtain last known location

   *

   * @permission ohos.permission.LOCATION

   * @returns { Promise<Location> } The promise returned by the function.

   * @syscap SystemCapability.Location.Location.Core

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.getLastLocation

   */

  function getLastLocation(): Promise<Location>;



  /**

   * Obtain current location switch status

   *

   * @permission ohos.permission.LOCATION

   * @param { AsyncCallback<boolean> } callback - Indicates the callback for reporting the location switch result.

   * @syscap SystemCapability.Location.Location.Core

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.isLocationEnabled

   */

  function isLocationEnabled(callback: AsyncCallback<boolean>): void;



  /**

   * Obtain current location switch status

   *

   * @permission ohos.permission.LOCATION

   * @returns { Promise<boolean> } The promise returned by the function.

   * @syscap SystemCapability.Location.Location.Core

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.isLocationEnabled

   */

  function isLocationEnabled(): Promise<boolean>;



  /**

   * Request enable location

   *

   * @permission ohos.permission.LOCATION

   * @param { AsyncCallback<boolean> } callback - Indicates the callback for reporting the location switch status.

   * @syscap SystemCapability.Location.Location.Core

   * @since 7

   * @deprecated since 9

   */

  function requestEnableLocation(callback: AsyncCallback<boolean>): void;



  /**

   * Request enable location

   *

   * @permission ohos.permission.LOCATION

   * @returns { Promise<boolean> } The promise returned by the function.

   * @syscap SystemCapability.Location.Location.Core

   * @since 7

   * @deprecated since 9

   */

  function requestEnableLocation(): Promise<boolean>;



  /**

   * Obtain address info from location

   *

   * @permission ohos.permission.LOCATION

   * @param { ReverseGeoCodeRequest } request - Indicates the reverse geocode query parameters.

   * @param { AsyncCallback<Array<GeoAddress>> } callback - Indicates the callback for reporting the address info.

   * @syscap SystemCapability.Location.Location.Geocoder

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.getAddressesFromLocation

   */

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



  /**

   * Obtain address info from location

   *

   * @permission ohos.permission.LOCATION

   * @param { ReverseGeoCodeRequest } request - Indicates the reverse geocode query parameters.

   * @returns { Promise<Array<GeoAddress>> } The promise returned by the function.

   * @syscap SystemCapability.Location.Location.Geocoder

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.getAddressesFromLocation

   */

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



  /**

   * Obtain latitude and longitude info from location address

   *

   * @permission ohos.permission.LOCATION

   * @param { GeoCodeRequest } request - Indicates the geocode query parameters.

   * @param { AsyncCallback<Array<GeoAddress>> } callback - Indicates the callback for reporting the latitude and longitude result.

   * @syscap SystemCapability.Location.Location.Geocoder

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.getAddressesFromLocationName

   */

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



  /**

   * Obtain latitude and longitude info from location address

   *

   * @permission ohos.permission.LOCATION

   * @param { GeoCodeRequest } request - Indicates the geocode query parameters.

   * @returns { Promise<Array<GeoAddress>> } The promise returned by the function.

   * @syscap SystemCapability.Location.Location.Geocoder

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.getAddressesFromLocationName

   */

  function getAddressesFromLocationName(request: GeoCodeRequest): Promise<Array<GeoAddress>>;



  /**

   * Obtain geocode service status

   *

   * @permission ohos.permission.LOCATION

   * @param { AsyncCallback<boolean> } callback - Indicates the callback for reporting the geocode service status.

   * @syscap SystemCapability.Location.Location.Geocoder

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.isGeocoderAvailable

   */

  function isGeoServiceAvailable(callback: AsyncCallback<boolean>): void;



  /**

   * Obtain geocode service status

   *

   * @permission ohos.permission.LOCATION

   * @returns { Promise<boolean> } The promise returned by the function.

   * @syscap SystemCapability.Location.Location.Geocoder

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.isGeocoderAvailable

   */

  function isGeoServiceAvailable(): Promise<boolean>;



  /**

   * Obtain the number of cached GNSS locations reported at a time

   *

   * @permission ohos.permission.LOCATION

   * @param { AsyncCallback<number> } callback - Indicates the callback for reporting the cached GNSS locations size.

   * @syscap SystemCapability.Location.Location.Gnss

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.getCachedGnssLocationsSize

   */

  function getCachedGnssLocationsSize(callback: AsyncCallback<number>): void;



  /**

   * Obtain the number of cached GNSS locations reported at a time

   *

   * @permission ohos.permission.LOCATION

   * @returns { Promise<number> } The promise returned by the function.

   * @syscap SystemCapability.Location.Location.Gnss

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.getCachedGnssLocationsSize

   */

  function getCachedGnssLocationsSize(): Promise<number>;



  /**

   * All prepared GNSS locations are returned to the application through the callback function,

   * and the bottom-layer buffer is cleared.

   *

   * @permission ohos.permission.LOCATION

   * @param { AsyncCallback<boolean> } callback - Indicates the callback for reporting the result.

   * @syscap SystemCapability.Location.Location.Gnss

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.flushCachedGnssLocations

   */

  function flushCachedGnssLocations(callback: AsyncCallback<boolean>): void;



  /**

   * All prepared GNSS locations are returned to the application through the callback function,

   * and the bottom-layer buffer is cleared.

   *

   * @permission ohos.permission.LOCATION

   * @returns { Promise<boolean> } The promise returned by the function.

   * @syscap SystemCapability.Location.Location.Gnss

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.flushCachedGnssLocations

   */

  function flushCachedGnssLocations(): Promise<boolean>;



  /**

   * Send extended commands to location subsystem.

   *

   * @permission ohos.permission.LOCATION

   * @param { LocationCommand } command - Indicates the extended Command Message Body.

   * @param { AsyncCallback<boolean> } callback - Indicates the callback for reporting the send command result.

   * @syscap SystemCapability.Location.Location.Core

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.sendCommand

   */

  function sendCommand(command: LocationCommand, callback: AsyncCallback<boolean>): void;



  /**

   * Send extended commands to location subsystem.

   *

   * @permission ohos.permission.LOCATION

   * @param { LocationCommand } command - Indicates the extended Command Message Body.

   * @returns { Promise<boolean> } The promise returned by the function.

   * @syscap SystemCapability.Location.Location.Core

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.sendCommand

   */

  function sendCommand(command: LocationCommand): Promise<boolean>;



  /**

   * Satellite status information

   *

   * @interface SatelliteStatusInfo

   * @permission ohos.permission.LOCATION

   * @syscap SystemCapability.Location.Location.Gnss

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.SatelliteStatusInfo

   */

  export interface SatelliteStatusInfo {

    /**

     * @syscap SystemCapability.Location.Location.Gnss

     * @since 8

     * @deprecated since 9

     */

    satellitesNumber: number;



    /**

     * @syscap SystemCapability.Location.Location.Gnss

     * @since 8

     * @deprecated since 9

     */

    satelliteIds: Array<number>;



    /**

     * @syscap SystemCapability.Location.Location.Gnss

     * @since 8

     * @deprecated since 9

     */

    carrierToNoiseDensitys: Array<number>;



    /**

     * @syscap SystemCapability.Location.Location.Gnss

     * @since 8

     * @deprecated since 9

     */

    altitudes: Array<number>;



    /**

     * @syscap SystemCapability.Location.Location.Gnss

     * @since 8

     * @deprecated since 9

     */

    azimuths: Array<number>;



    /**

     * @syscap SystemCapability.Location.Location.Gnss

     * @since 8

     * @deprecated since 9

     */

    carrierFrequencies: Array<number>;

  }



  /**

   * Parameters for requesting to report cache location information

   *

   * @interface CachedGnssLocationsRequest

   * @permission ohos.permission.LOCATION

   * @syscap SystemCapability.Location.Location.Gnss

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.CachedGnssLocationsRequest

   */

  export interface CachedGnssLocationsRequest {

    /**

     * @syscap SystemCapability.Location.Location.Gnss

     * @since 8

     * @deprecated since 9

     */

    reportingPeriodSec: number;



    /**

     * @syscap SystemCapability.Location.Location.Gnss

     * @since 8

     * @deprecated since 9

     */

    wakeUpCacheQueueFull: boolean;

  }



  /**

   * Configuring parameters in geo fence requests

   *

   * @interface GeofenceRequest

   * @permission ohos.permission.LOCATION

   * @syscap SystemCapability.Location.Location.Geofence

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.GeofenceRequest

   */

  export interface GeofenceRequest {

    /**

     * @syscap SystemCapability.Location.Location.Geofence

     * @since 8

     * @deprecated since 9

     */

    priority: LocationRequestPriority;



    /**

     * @syscap SystemCapability.Location.Location.Geofence

     * @since 8

     * @deprecated since 9

     */

    scenario: LocationRequestScenario;



    /**

     * @syscap SystemCapability.Location.Location.Geofence

     * @since 8

     * @deprecated since 9

     */

    geofence: Geofence;

  }



  /**

   * Configuring parameters in geo fence requests

   *

   * @interface Geofence

   * @permission ohos.permission.LOCATION

   * @syscap SystemCapability.Location.Location.Geofence

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.Geofence

   */

  export interface Geofence {

    /**

     * @syscap SystemCapability.Location.Location.Geofence

     * @since 8

     * @deprecated since 9

     */

    latitude: number;



    /**

     * @syscap SystemCapability.Location.Location.Geofence

     * @since 8

     * @deprecated since 9

     */

    longitude: number;



    /**

     * @syscap SystemCapability.Location.Location.Geofence

     * @since 8

     * @deprecated since 9

     */

    radius: number;



    /**

     * @syscap SystemCapability.Location.Location.Geofence

     * @since 8

     * @deprecated since 9

     */

    expiration: number;

  }



  /**

   * Configuring parameters in reverse geocode requests

   *

   * @interface ReverseGeoCodeRequest

   * @permission ohos.permission.LOCATION

   * @syscap SystemCapability.Location.Location.Geocoder

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.ReverseGeoCodeRequest

   */

  export interface ReverseGeoCodeRequest {

    /**

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    locale?: string;



    /**

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    latitude: number;



    /**

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    longitude: number;



    /**

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    maxItems?: number;

  }



  /**

   * Configuring parameters in geocode requests

   *

   * @interface GeoCodeRequest

   * @permission ohos.permission.LOCATION

   * @syscap SystemCapability.Location.Location.Geocoder

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.GeoCodeRequest

   */

  export interface GeoCodeRequest {

    /**

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    locale?: string;



    /**

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    description: string;



    /**

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    maxItems?: number;



    /**

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    minLatitude?: number;



    /**

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    minLongitude?: number;



    /**

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    maxLatitude?: number;



    /**

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    maxLongitude?: number;

  }



  /**

   * Data struct describes geographic locations.

   *

   * @interface GeoAddress

   * @permission ohos.permission.LOCATION

   * @syscap SystemCapability.Location.Location.Geocoder

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.GeoAddress

   */

  export interface GeoAddress {

    /**

     * Indicates latitude information.

     * A positive value indicates north latitude,

     * and a negative value indicates south latitude.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    latitude?: number;



    /**

     * Indicates longitude information.

     * A positive value indicates east longitude ,

     * and a negative value indicates west longitude .

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    longitude?: number;



    /**

     * Indicates language used for the location description.

     * zh indicates Chinese, and en indicates English.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    locale?: string;



    /**

     * Indicates landmark of the location.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    placeName?: string;



    /**

     * Indicates country code.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    countryCode?: string;



    /**

     * Indicates country name.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    countryName?: string;



    /**

     * Indicates administrative region name.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    administrativeArea?: string;



    /**

     * Indicates sub-administrative region name.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    subAdministrativeArea?: string;



    /**

     * Indicates locality information.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    locality?: string;



    /**

     * Indicates sub-locality information.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    subLocality?: string;



    /**

     * Indicates road name.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    roadName?: string;



    /**

     * Indicates auxiliary road information.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    subRoadName?: string;



    /**

     * Indicates house information.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    premises?: string;



    /**

     * Indicates postal code.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    postalCode?: string;



    /**

     * Indicates phone number.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    phoneNumber?: string;



    /**

     * Indicates website URL.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    addressUrl?: string;



    /**

     * Indicates additional information.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    descriptions?: Array<string>;



    /**

     * Indicates the amount of additional descriptive information.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Geocoder

     * @since 7

     * @deprecated since 9

     */

    descriptionsSize?: number;

  }



  /**

   * Configuring parameters in location requests

   *

   * @interface LocationRequest

   * @permission ohos.permission.LOCATION

   * @syscap SystemCapability.Location.Location.Core

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.LocationRequest

   */

  export interface LocationRequest {

    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    priority?: LocationRequestPriority;



    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    scenario?: LocationRequestScenario;



    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    timeInterval?: number;



    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    distanceInterval?: number;



    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    maxAccuracy?: number;

  }



  /**

   * Configuring parameters in current location requests

   *

   * @interface CurrentLocationRequest

   * @permission ohos.permission.LOCATION

   * @syscap SystemCapability.Location.Location.Core

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.CurrentLocationRequest

   */

  export interface CurrentLocationRequest {

    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    priority?: LocationRequestPriority;



    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    scenario?: LocationRequestScenario;



    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    maxAccuracy?: number;



    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    timeoutMs?: number;

  }



  /**

   * Provides information about geographic locations

   *

   * @interface Location

   * @permission ohos.permission.LOCATION

   * @syscap SystemCapability.Location.Location.Core

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.Location

   */

  export interface Location {

    /**

     * Indicates latitude information.

     * A positive value indicates north latitude,

     * and a negative value indicates south latitude.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    latitude: number;



    /**

     * Indicates Longitude information.

     * A positive value indicates east longitude ,

     * and a negative value indicates west longitude .

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    longitude: number;



    /**

     * Indicates location altitude, in meters.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    altitude: number;



    /**

     * Indicates location accuracy, in meters.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    accuracy: number;



    /**

     * Indicates speed, in m/s.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    speed: number;



    /**

     * Indicates location timestamp in the UTC format.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    timeStamp: number;



    /**

     * Indicates direction information.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    direction: number;



    /**

     * Indicates location timestamp since boot.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    timeSinceBoot: number;



    /**

     * Indicates additional information.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    additions?: Array<string>;



    /**

     * Indicates the amount of additional descriptive information.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    additionSize?: number;

  }



  /**

   * Enum for location priority

   *

   * @permission ohos.permission.LOCATION

   * @enum { number }

   * @syscap SystemCapability.Location.Location.Core

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.LocationRequestPriority

   */

  export enum LocationRequestPriority {

    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    UNSET = 0x200,



    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    ACCURACY,



    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    LOW_POWER,



    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    FIRST_FIX

  }



  /**

   * Enum for location scenario

   *

   * @permission ohos.permission.LOCATION

   * @enum { number }

   * @syscap SystemCapability.Location.Location.Core

   * @since 7

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.LocationRequestScenario

   */

  export enum LocationRequestScenario {

    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    UNSET = 0x300,



    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    NAVIGATION,



    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    TRAJECTORY_TRACKING,



    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    CAR_HAILING,



    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    DAILY_LIFE_SERVICE,



    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    NO_POWER

  }



  /**

   * Enum for error code

   *

   * @permission ohos.permission.LOCATION

   * @enum { number }

   * @syscap SystemCapability.Location.Location.Core

   * @since 7

   * @deprecated since 9

   */

  export enum GeoLocationErrorCode {

    /**

     * Indicates input parameter error.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    INPUT_PARAMS_ERROR,



    /**

     * Indicates reverse geocode query failed.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    REVERSE_GEOCODE_ERROR,



    /**

     * Indicates geocode query failed.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    GEOCODE_ERROR,



    /**

     * Indicates positioning failed.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

       * @deprecated since 9

     */

    LOCATOR_ERROR,



    /**

     * Indicates operation failure caused by abnormal location switch.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    LOCATION_SWITCH_ERROR,



    /**

     * Indicates failed to get the last known location.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    LAST_KNOWN_LOCATION_ERROR,



    /**

     * Indicates location request timeout.

     *

     * @permission ohos.permission.LOCATION

     * @syscap SystemCapability.Location.Location.Core

     * @since 7

     * @deprecated since 9

     */

    LOCATION_REQUEST_TIMEOUT_ERROR

  }



  /**

   * Enum for location privacy type

   *

   * @permission ohos.permission.LOCATION

   * @enum { number }

   * @syscap SystemCapability.Location.Location.Core

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.LocationPrivacyType

   */

  export enum LocationPrivacyType {

    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 8

     * @deprecated since 9

     */

    OTHERS = 0,



    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 8

     * @deprecated since 9

     */

    STARTUP,



    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 8

     * @deprecated since 9

     */

    CORE_LOCATION

  }



  /**

   * Location subsystem command structure

   *

   * @interface LocationCommand

   * @permission ohos.permission.LOCATION

   * @syscap SystemCapability.Location.Location.Core

   * @since 8

   * @deprecated since 9

   * @useinstead ohos.geoLocationManager/geoLocationManager.LocationCommand

   */

  export interface LocationCommand {

    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 8

     * @deprecated since 9

     */

    scenario: LocationRequestScenario;



    /**

     * @syscap SystemCapability.Location.Location.Core

     * @since 8

     * @deprecated since 9

     */

    command: string;

  }

}



export default geolocation;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1541096.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解析服务器出现大量 TIME_WAIT 和 CLOSE_WAIT 状态的原因及排查方法

服务器出现大量 TIME_WAIT 状态的原因有哪些&#xff1f; 首先要知道 TIME_WAIT 状态是主动关闭连接方才会出现的状态&#xff08;别陷入一个误区不是只有客户端才能主动关闭连接的&#xff09;&#xff0c;所以如果服务器出现大量的 TIME_WAIT 状态的 TCP 连接&#xff0c;就是…

分布式组件 Nacos

1.在之前的文章写过的就不用重复写。 写一些没有写过的新东西 2.细节 2.1命名空间 &#xff1a; 配置隔离 默认&#xff1a; public &#xff08;默认命名空间&#xff09;:默认新增所有的配置都在public空间下 2.1.1 开发 、测试 、生产&#xff1a;有不同的配置文件 比如…

关于mysql无法添加中文数据的问题以及解决方案

往数据库表插入语句时&#xff0c;插入中文字段&#xff0c;中文直接变成&#xff1f;的问题&#xff0c; 出现这样的问题就是在创建数据库时 数据库字符集 没有选择uft8, 数据库校对规则没有选择utf8-bin 用 SHOW CREATE DATABASE 数据名; 可以查看你的这个数据库的定义…

设计模式之状态模式(一)

设计模式专栏&#xff1a; http://t.csdnimg.cn/4Mt4u 目录 1.概述 2.结构 3.实现 4.总结 1.概述 状态模式( State Pattern)也称为状态机模式( State Machine pattern), 是允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类, 属于行为型模式。 在状…

<商务世界>《第16课 餐桌礼仪之座次》

1 简要 我国自古以来就很重视座位礼仪&#xff0c;非讲究&#xff0c;分君臣、分宾主、分方位等等而今座位礼仪已经简化为&#xff1a; 以“中”为尊&#xff1a; 中心为尊&#xff0c;突出主位。 以“右”为尊&#xff1a; 从历史上到国际上都是以右为尊。 以“内”为尊&…

算法导论第十四章练习参考答案(26) - 14.1-14.3

Exercise 14.1-1 呼叫顺序为: OS−SELECT(T.root,10) OS−SELECT(T.root.left&#xff0c;10) OS−SELECT(T.root.left.right&#xff0c;2) OS−SELECT(T.root.left.right.left&#xff0c;2) OS−SELECT(T.root.left.right.left.right&#xff0c;1) 然后&#xff0c;我们得到…

UKP3d的协同设计相关问题

用户在用UKP3d多人协同设计&#xff0c;反映以前保存的内容为什么没有呢&#xff1f; 经查&#xff0c;协同设计的某一用户并没有打开协同去用。如A,B两人协同设计&#xff0c;B并不是用“打开—协同项目”&#xff0c;而是用“打开—项目”&#xff0c;当B保存项目的时候&…

RelativeContainer踩坑--子控件消失

使用android的RelativeLayout时&#xff0c;靠左靠上的子控件&#xff0c;我通常不会去声明它和父布局的约束关系。 结果这个方法用到鸿蒙RelativeContainer上出了问题&#xff0c;当我写第一个子控件时&#xff0c;没有声明与父布局的约束关系&#xff0c;显示是OK的 Relati…

NX二次开发-调内部函数创建进度条MT_create_progress_bar

一、概述 最近学习NX二次开发&#xff0c;看到NX打开装配模型或者加载模型时会显示进度条的问题&#xff0c;个人觉得很有意思&#xff0c;然后参考阿飞2018中的文章进行学习。 二、代码解析 //User Defined Header File#include <uf.h>#include <uf_ui.h>#includ…

Zookeeper(八)序列化与协议

目录 一 序列化与反序列化1.1 Jute序列化工具1.1 Recor接口1.2 OutputArchive和InputArchive 二 通信协议2.1 请求部分2.1.1 请求头2.2.2 请求体2.1.3 案例分析 2.2 响应部分2.2.1 响应头2.2.2 响应内容2.2.3 案例分析 官网&#xff1a;Apache ZooKeeper 一 序列化与反序列化 …

vivado 查看消息、增量编译消息、查看实施报告

查看消息 重要&#xff01;查看所有消息。这些信息可能会建议如何改进您的设计性能、功率、面积和布线。严重警告还可能暴露时间限制问题必须解决。 以非项目模式查看消息 在非项目模式下&#xff0c;查看Vivado日志文件&#xff08;Vivado.log&#xff09;中的以下内容&…

QToolButton 设置图标变灰

1、目的 使用一张图片来实现QToolButton控件两种状态&#xff08;ON和OFF状态&#xff09;的图标。前提不能使用两张图片&#xff0c;也不能使用setEnable来图标变灰&#xff0c;因为当设置了false之后&#xff0c;控件将不能再切换了。 2、方法 知道可以通过QToolButton有s…

Python编程—Ajax数据爬取

Python编程—Ajax数据爬取 ​ 在浏览器中可以看到正常显示的页面数据&#xff0c;而使用requests得到的结果中并没有这些数据。这是因为requests获取的都是原始HTML文档&#xff0c;而浏览器中的页面是JavaScript处理数据后生成的结果&#xff0c;这些数据有多种来源&#xff…

Docker(二):Docker常用命令

docker 查看docker支持的所有命令和参数。 ➜ ~ docker Management Commands:config Manage Docker configscontainer Manage containersimage Manage imagesnetwork Manage networksnode Manage Swarm nodesplugin Manage pluginssecret …

golang 对接第三方接口 RSA 做签(加密) 验签(解密)

一、过程 1.调用第三方接口前&#xff0c;一般需要按规则将参数按key1value1&key2value2 阿斯克码排序,sign参数不参与加密 2.将排序并连接好的参数字符串通过我方的私钥证书&#xff08;.pem&#xff09;进行加密得到加密串&#xff0c;当然加密得到的是 []byte 字节流&…

vue iframe实现父页面实时调用子页面方法和内容,已解决

父页面标签添加鼠标按下事件 父页方法中建立iframe通信 实时调用子页面方法 实时更改子页面文本内容

Chrome 114 带着侧边栏扩展来了

效果展示 manifest.json {"manifest_version": 3,"name": "ChatGPT学习","version": "0.0.2","description": "ChatGPT,GPT-4,Claude3,Midjourney,Stable Diffusion,AI,人工智能,AI","icons"…

C语言经典算法-9

文章目录 其他经典例题跳转链接46.稀疏矩阵47.多维矩阵转一维矩阵48.上三角、下三角、对称矩阵49.奇数魔方阵50.4N 魔方阵51.2(2N1) 魔方阵 其他经典例题跳转链接 C语言经典算法-1 1.汉若塔 2. 费式数列 3. 巴斯卡三角形 4. 三色棋 5. 老鼠走迷官&#xff08;一&#xff09;6.…

【go从入门到精通】for循环控制

作者简介&#xff1a; 高科&#xff0c;先后在 IBM PlatformComputing从事网格计算&#xff0c;淘米网&#xff0c;网易从事游戏服务器开发&#xff0c;拥有丰富的C&#xff0c;go等语言开发经验&#xff0c;mysql&#xff0c;mongo&#xff0c;redis等数据库&#xff0c;设计模…

ssm003在线医疗服务系统+jsp

在线医疗服务系统的设计与实现 摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代&#xff0c;所以对于信息的宣传和管…