From 19b0f85e129c02955f567782d78261754cc82cec Mon Sep 17 00:00:00 2001 From: liu-binjun Date: Tue, 2 Aug 2022 11:20:32 +0800 Subject: [PATCH] bugfix:Modify the format error problem Signed-off-by: liu-binjun --- .../reference/apis/js-apis-geolocation.md | 152 ++++++++--------- .../reference/apis/js-apis-geolocation.md | 159 +++++++++--------- zh-cn/readme/figures/location_En-1.png | Bin 0 -> 29495 bytes zh-cn/readme/figures/location_zh-1.png | Bin 0 -> 28523 bytes ...41\345\255\220\347\263\273\347\273\237.md" | 2 +- 5 files changed, 157 insertions(+), 156 deletions(-) create mode 100644 zh-cn/readme/figures/location_En-1.png create mode 100644 zh-cn/readme/figures/location_zh-1.png diff --git a/en/application-dev/reference/apis/js-apis-geolocation.md b/en/application-dev/reference/apis/js-apis-geolocation.md index d08cc7aafb..f15805a326 100644 --- a/en/application-dev/reference/apis/js-apis-geolocation.md +++ b/en/application-dev/reference/apis/js-apis-geolocation.md @@ -24,7 +24,7 @@ Registers a listener for location changes with a location request initiated. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type. The value **locationChange** indicates a location change event.| | request | LocationRequest | Yes| Location request.| @@ -54,7 +54,7 @@ Unregisters the listener for location changes with the corresponding location re **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type. The value **locationChange** indicates a location change event.| | callback | Callback<[Location](#location)> | No| Callback used to return the location change event.| @@ -84,7 +84,7 @@ Registers a listener for location service status change events. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type. The value **locationServiceState** indicates a location service status change event.| | callback | Callback<boolean> | Yes| Callback used to return the location service status change event.| @@ -112,7 +112,7 @@ Unregisters the listener for location service status change events. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type. The value **locationServiceState** indicates a location service status change event.| | callback | Callback<boolean> | No| Callback used to return the location service status change event.| @@ -141,7 +141,7 @@ Registers a listener for cached GNSS location reports. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type. The value **cachedGnssLocationsReporting** indicates reporting of cached GNSS locations.| | request | CachedGnssLocationsRequest | Yes| Request for reporting cached GNSS location.| @@ -171,7 +171,7 @@ Unregisters the listener for cached GNSS location reports. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type. The value **cachedGnssLocationsReporting** indicates reporting of cached GNSS locations.| | callback | Callback<boolean> | No| Callback used to return cached GNSS locations.| @@ -201,7 +201,7 @@ Registers a listener for GNSS satellite status change events. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type. The value **gnssStatusChange** indicates a GNSS satellite status change.| | callback | Callback<SatelliteStatusInfo> | Yes| Callback used to return GNSS satellite status changes.| @@ -229,7 +229,7 @@ Unregisters the listener for GNSS satellite status change events. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type. The value **gnssStatusChange** indicates a GNSS satellite status change.| | callback | Callback<SatelliteStatusInfo> | No| Callback used to return GNSS satellite status changes.| @@ -257,7 +257,7 @@ Registers a listener for GNSS NMEA message change events. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type. The value **nmeaMessageChange** indicates a GNSS NMEA message change.| | callback | Callback<string> | Yes| Callback used to return GNSS NMEA message changes.| @@ -285,7 +285,7 @@ Unregisters the listener for GNSS NMEA message change events. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type. The value **nmeaMessageChange** indicates a GNSS NMEA message change.| | callback | Callback<string> | No| Callback used to return GNSS NMEA message changes.| @@ -314,7 +314,7 @@ Registers a listener for status change events of the specified geofence. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type. The value **fenceStatusChange** indicates a geofence status change.| | request | GeofenceRequest | Yes| Geofencing request.| @@ -359,7 +359,7 @@ Unregisters the listener for status change events of the specified geofence. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type. The value **fenceStatusChange** indicates a geofence status change.| | request | GeofenceRequest | Yes| Geofencing request.| @@ -402,7 +402,7 @@ Subscribe to country code information reporting events. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type. The value is "countrycodechange", which means subscribing to the submission of country code information. | | callback | Callback<CountryCode> | Yes | Callback is used to receive the country code information report. | @@ -428,7 +428,7 @@ Unsubscribe from the country code to report events. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type. The value is "countrycodechange", which means unsubscribing to the submission of country code information. | | callback | Callback<CountryCode> | Yes | Callback is used to receive the country code information report. | @@ -458,7 +458,7 @@ Obtains the current location. This API uses an asynchronous callback to return t **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | request | [CurrentLocationRequest](#currentlocationrequest) | No| Location request.| | callback | AsyncCallback<[Location](#location)> | Yes| Callback used to return the current location.| @@ -493,13 +493,13 @@ Obtains the current location. This API uses a promise to return the result. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | request | [CurrentLocationRequest](#currentlocationrequest) | No| Location request.| **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<[Location](#location)> | Promise used to return the current location.| @@ -526,7 +526,7 @@ Obtains the previous location. This API uses an asynchronous callback to return **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | callback | AsyncCallback<[Location](#location)> | Yes| Callback used to return the previous location.| @@ -557,7 +557,7 @@ Obtains the previous location. This API uses a promise to return the result. **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<[Location](#location)> | Promise used to return the previous location.| @@ -584,7 +584,7 @@ Checks whether the location service is enabled. This API uses an asynchronous ca **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | callback | AsyncCallback<boolean> | Yes| Callback used to return the location service status.| @@ -614,7 +614,7 @@ Checks whether the location service is enabled. This API uses a promise to retur **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<boolean> | Promise used to return the location service status.| @@ -640,7 +640,7 @@ Requests to enable the location service. This API uses an asynchronous callback **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | callback | AsyncCallback<boolean> | Yes| Callback used to return the location service status.| @@ -670,7 +670,7 @@ Requests to enable the location service. This API uses a promise to return the r **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<boolean> | Promise used to return the location service status.| @@ -697,7 +697,7 @@ Enables the location service. This API uses an asynchronous callback to return t **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | callback | AsyncCallback<boolean> | Yes| Callback used to return the location service status.| @@ -729,7 +729,7 @@ Enables the location service. This API uses a promise to return the result. **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<boolean> | Promise used to return the location service status.| @@ -755,7 +755,7 @@ Disables the location service. This API uses an asynchronous callback to return **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | callback | AsyncCallback<boolean> | Yes| Callback used to return the location service status.| @@ -787,7 +787,7 @@ Disables the location service. This API uses a promise to return the result. **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<boolean> | Promise used to return the location service status.| @@ -811,7 +811,7 @@ Checks whether the (reverse) geocoding service is available. This API uses an as **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | callback | AsyncCallback<boolean> | Yes| Callback used to return the (reverse) geocoding service status.| @@ -841,7 +841,7 @@ Checks whether the (reverse) geocoding service is available. This API uses a pro **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<boolean> | Promise used to return the (reverse) geocoding service status.| @@ -866,7 +866,7 @@ Converts coordinates into geographic description through reverse geocoding. This **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | request | [ReverseGeoCodeRequest](#reversegeocoderequest) | Yes| Reverse geocoding request.| | callback | AsyncCallback<Array<[GeoAddress](#geoaddress)>> | Yes| Callback used to return the reverse geocoding result.| @@ -898,13 +898,13 @@ Converts coordinates into geographic description through reverse geocoding. This **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | request | [ReverseGeoCodeRequest](#reversegeocoderequest) | Yes| Reverse geocoding request.| **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<Array<[GeoAddress](#geoaddress)>> | Promise used to return the reverse geocoding result.| @@ -930,7 +930,7 @@ Converts geographic description into coordinates through geocoding. This API use **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | request | [GeoCodeRequest](#geocoderequest) | Yes| Geocoding request.| | callback | AsyncCallback<Array<[GeoAddress](#geoaddress)>> | Yes| Callback used to return the geocoding result.| @@ -962,13 +962,13 @@ Converts geographic description into coordinates through geocoding. This API use **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | request | [GeoCodeRequest](#geocoderequest) | Yes| Geocoding request.| **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<Array<[GeoAddress](#geoaddress)>> | Callback used to return the geocoding result.| @@ -994,7 +994,7 @@ Obtains the number of cached GNSS locations. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | callback | AsyncCallback<number> | Yes| Callback used to return the number of cached GNSS locations. | @@ -1024,7 +1024,7 @@ Obtains the number of cached GNSS locations. **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<number> | Promise used to return the number of cached GNSS locations.| @@ -1049,7 +1049,7 @@ Obtains all cached GNSS locations and clears the GNSS cache queue. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | callback | AsyncCallback<boolean> | Yes| Callback used to return the operation result.| @@ -1079,7 +1079,7 @@ Obtains all cached GNSS locations and clears the GNSS cache queue. **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<boolean> | Promise used to return the operation result.| @@ -1104,7 +1104,7 @@ Sends an extended command to the location subsystem. This API can only be called **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | command | LocationCommand | Yes| Extended command (string) to be sent.| | callback | AsyncCallback<boolean> | Yes| Callback used to return the operation result.| @@ -1136,13 +1136,13 @@ Sends an extended command to the location subsystem. This API can only be called **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | command | LocationCommand | Yes| Extended command (string) to be sent.| **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<boolean> | Callback used to return the operation result.| @@ -1170,7 +1170,7 @@ Checks whether a user agrees with the privacy statement of the location service. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | LocationPrivacyType | Yes| Privacy statement type, for example, privacy statement displayed in the startup wizard or privacy statement displayed when enabling the location service.| | callback | AsyncCallback<boolean> | Yes| Callback used to return the result, which indicates whether the user agrees with the privacy statement.| @@ -1203,13 +1203,13 @@ Checks whether a user agrees with the privacy statement of the location service. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | LocationPrivacyType | Yes| Privacy statement type, for example, privacy statement displayed in the startup wizard or privacy statement displayed when enabling the location service.| **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<boolean> | Callback used to return the result, which indicates whether the user agrees with the privacy statement.| @@ -1236,7 +1236,7 @@ Sets the user confirmation status for the privacy statement of the location serv **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | LocationPrivacyType | Yes| Privacy statement type, for example, privacy statement displayed in the startup wizard or privacy statement displayed when enabling the location service.| | isConfirmed | boolean | Yes| Callback used to return the result, which indicates whether the user agrees with the privacy statement.| @@ -1270,14 +1270,14 @@ Sets the user confirmation status for the privacy statement of the location serv **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | LocationPrivacyType | Yes| Privacy statement type, for example, privacy statement displayed in the startup wizard or privacy statement displayed when enabling the location service.| | isConfirmed | boolean | Yes| Callback used to return the result, which indicates whether the user agrees with the privacy statement.| **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<boolean> | Callback used to return the operation result.| @@ -1300,7 +1300,7 @@ Query the current country code. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | callback | AsyncCallback<CountryCode> | Yes | Callback is used to receive the country code. | @@ -1332,7 +1332,7 @@ None **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<CountryCode> | return country code. | @@ -1361,7 +1361,7 @@ Enable the position simulation function of a scene, and only one scene can be en **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | scenario | LocationRequestScenario | No | Indicates under what scenario the position simulation function is enabled. | | callback | AsyncCallback<void> | Yes | It is used to receive the execution result. If the execution is successful, it will return nullptr. Otherwise, it will return an error message. | @@ -1392,14 +1392,14 @@ Enable the position simulation function of a scene, and only one scene can be en **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | scenario | LocationRequestScenario | No | Indicates which scene's position simulation function is enabled. If this parameter is not carried, it means that the position simulation function of all scenes is enabled. | **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<void> | It is used to receive the execution result. If the execution is successful, it will return nullptr. Otherwise, it will return an error message. | @@ -1433,7 +1433,7 @@ To disable the position simulation function. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | scenario | LocationRequestScenario | No | Indicates to disable the position simulation function of a scene. If this parameter is not carried, it means to disable the position simulation function of all scenes. | | callback | AsyncCallback<void> | Yes | It is used to receive the execution result. If the execution is successful, it will return nullptr. Otherwise, it will return an error message. | @@ -1465,13 +1465,13 @@ To disable the position simulation function. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | scenario | LocationRequestScenario | No | Indicates to disable the position simulation function of a scene. If this parameter is not carried, it means to disable the position simulation function of all scenes. | **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<void> | It is used to receive the execution result. If the execution is successful, it will return nullptr, otherwise it will return an error message | @@ -1505,7 +1505,7 @@ Set the simulated location information, and then report the simulated location a **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | config | LocationMockConfig | Yes | Indicates the configuration parameters of location simulation, including the time interval of simulation location reporting and the array of simulation locations. | | callback | AsyncCallback<void> | Yes | It is used to receive the execution result. If the execution is successful, it will return nullptr. Otherwise, it will return an error message. | @@ -1543,13 +1543,13 @@ Set the simulated location information, and then report the simulated location a **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | config | LocationMockConfig | Yes | Indicates the configuration parameters of location simulation, including the time interval of simulation location reporting and the array of simulation locations. | **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<void> | It is used to receive the execution result. If the execution is successful, it will return nullptr. Otherwise, it will return an error message. | @@ -1591,7 +1591,7 @@ Enable reverse geocoding simulation function. **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | callback | AsyncCallback<void> | Yes | It is used to receive the execution result. If the execution is successful, it will return nullptr. Otherwise, it will return an error message. | @@ -1625,7 +1625,7 @@ None **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<void> | It is used to receive the execution result. If the execution is successful, it will return nullptr. Otherwise, it will return an error message. | @@ -1658,7 +1658,7 @@ Disable reverse geocoding simulation function. **Parameters**: - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | callback | AsyncCallback<void> | Yes | It is used to receive the execution result. If the execution is successful, it will return nullptr. Otherwise, it will return an error message | @@ -1692,7 +1692,7 @@ None **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<void> | It is used to receive the execution result. If the execution is successful, it will return nullptr. Otherwise, it will return an error message. | @@ -1725,7 +1725,7 @@ Set the configuration information of the reverse geocoding simulation function, **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | mockInfos | Array<ReverseGeocodingMockInfo> | Yes | An array of configuration parameters indicating the inverse geocoding simulation function. The configuration parameters of the inverse geocoding simulation function include a location and a place name. | | callback | AsyncCallback<void> | Yes | It is used to receive the execution result. If the execution is successful, it will return nullptr. Otherwise, it will return an error message. | @@ -1734,11 +1734,11 @@ Set the configuration information of the reverse geocoding simulation function, ```js var mockInfos = [ - {"location": {"locale": "shanghai", "latitude": 30.12, "longitude": 120.11, "maxItems": 1}, "geoAddress": {"locale": "shanghai", "latitude": 30.12, "longitude": 120.11, "maxItems": 1, "isFromMock": true}}, - {"location": {"locale": "beijing", "latitude": 31.12, "longitude": 121.11, "maxItems": 1}, "geoAddress": {"locale": "beijing", "latitude": 31.12, "longitude": 121.11, "maxItems": 1, "isFromMock": true}}, - {"location": {"locale": "shenzhen", "latitude": 32.12, "longitude": 122.11, "maxItems": 1}, "geoAddress": {"locale": "shenzhen", "latitude": 32.12, "longitude": 122.11, "maxItems": 1, "isFromMock": true}}, - {"location": {"locale": "wuhan", "latitude": 33.12, "longitude": 123.11, "maxItems": 1}, "geoAddress": {"locale": "wuhan", "latitude": 33.12, "longitude": 123.11, "maxItems": 1, "isFromMock": true}}, - {"location": {"locale": "chengdu", "latitude": 34.12, "longitude": 124.11, "maxItems": 1}, "geoAddress": {"locale": "chengdu", "latitude": 34.12, "longitude": 124.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 30.12, "longitude": 120.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 30.12, "longitude": 120.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 31.12, "longitude": 121.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 31.12, "longitude": 121.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 32.12, "longitude": 122.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 32.12, "longitude": 122.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 33.12, "longitude": 123.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 33.12, "longitude": 123.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 34.12, "longitude": 124.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 34.12, "longitude": 124.11, "maxItems": 1, "isFromMock": true}}, ]; geolocation.setReverseGeocodingMockInfo(mockInfos, (err, data) => { if (err) { @@ -1763,13 +1763,13 @@ Set the configuration information of the reverse geocoding simulation function, **Parameters** - | Name| Type| Mandatory| Description| + | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | mockInfos | Array<ReverseGeocodingMockInfo> | Yes | An array of configuration parameters indicating the inverse geocoding simulation function. The configuration parameters of the inverse geocoding simulation function include a location and a place name. | **Return value** - | Name| Description| + | Name| Description| | -------- | -------- | | Promise<void> | It is used to receive the execution result. If the execution is successful, it will return nullptr. Otherwise, it will return an error message. | @@ -1777,11 +1777,11 @@ Set the configuration information of the reverse geocoding simulation function, ```js var mockInfos = [ - {"location": {"locale": "shanghai", "latitude": 30.12, "longitude": 120.11, "maxItems": 1}, "geoAddress": {"locale": "shanghai", "latitude": 30.12, "longitude": 120.11, "maxItems": 1, "isFromMock": true}}, - {"location": {"locale": "beijing", "latitude": 31.12, "longitude": 121.11, "maxItems": 1}, "geoAddress": {"locale": "beijing", "latitude": 31.12, "longitude": 121.11, "maxItems": 1, "isFromMock": true}}, - {"location": {"locale": "shenzhen", "latitude": 32.12, "longitude": 122.11, "maxItems": 1}, "geoAddress": {"locale": "shenzhen", "latitude": 32.12, "longitude": 122.11, "maxItems": 1, "isFromMock": true}}, - {"location": {"locale": "wuhan", "latitude": 33.12, "longitude": 123.11, "maxItems": 1}, "geoAddress": {"locale": "wuhan", "latitude": 33.12, "longitude": 123.11, "maxItems": 1, "isFromMock": true}}, - {"location": {"locale": "chengdu", "latitude": 34.12, "longitude": 124.11, "maxItems": 1}, "geoAddress": {"locale": "chengdu", "latitude": 34.12, "longitude": 124.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 30.12, "longitude": 120.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 30.12, "longitude": 120.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 31.12, "longitude": 121.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 31.12, "longitude": 121.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 32.12, "longitude": 122.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 32.12, "longitude": 122.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 33.12, "longitude": 123.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 33.12, "longitude": 123.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 34.12, "longitude": 124.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 34.12, "longitude": 124.11, "maxItems": 1, "isFromMock": true}}, ]; geolocation.setReverseGeocodingMockInfo(mockInfos) .then((result) => { diff --git a/zh-cn/application-dev/reference/apis/js-apis-geolocation.md b/zh-cn/application-dev/reference/apis/js-apis-geolocation.md index af1e4a3017..3cd5bb1b94 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-geolocation.md +++ b/zh-cn/application-dev/reference/apis/js-apis-geolocation.md @@ -22,13 +22,14 @@ on(type: 'locationChange', request: LocationRequest, callback: Callback<Locat **系统能力**:SystemCapability.Location.Location.Core -**参数**: +**参数:** - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | string | 是 | 设置事件类型。type为“locationChange”,表示位置变化。 | | request | LocationRequest | 是 | 设置位置请求参数。 | | callback | Callback<[Location](#location)> | 是 | 接收位置变化状态变化监听。 | + **示例** @@ -52,9 +53,9 @@ off(type: 'locationChange', callback?: Callback<Location>) : void **系统能力**:SystemCapability.Location.Location.Core -**参数**: +**参数:** - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | string | 是 | 设置事件类型。type为“locationChange”,表示位置变化。 | | callback | Callback<[Location](#location)> | 否 | 接收位置变化状态变化监听。 | @@ -82,9 +83,9 @@ on(type: 'locationServiceState', callback: Callback<boolean>) : void **系统能力**:SystemCapability.Location.Location.Core -**参数**: +**参数:** - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | string | 是 | 设置事件类型。type为“locationServiceState”,表示位置服务状态。 | | callback | Callback<boolean> | 是 | 接收位置服务状态变化监听。 | @@ -112,7 +113,7 @@ off(type: 'locationServiceState', callback?: Callback<boolean>) : void; **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | string | 是 | 设置事件类型。type为“locationServiceState”,表示位置服务状态。 | | callback | Callback<boolean> | 否 | 接收位置服务状态变化监听。 | @@ -141,7 +142,7 @@ on(type: 'cachedGnssLocationsReporting', request: CachedGnssLocationsRequest, ca **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | string | 是 | 设置事件类型。type为“cachedGnssLocationsReporting”,表示GNSS缓存定位结果上报。 | | request | CachedGnssLocationsRequest | 是 | GNSS缓存功能配置参数 | @@ -171,7 +172,7 @@ off(type: 'cachedGnssLocationsReporting', callback?: Callback<Array<Locati **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | string | 是 | 设置事件类型。type为“cachedGnssLocationsReporting”,表示GNSS缓存定位结果上报。 | | callback | Callback<boolean> | 否 | 接收GNSS缓存位置上报。 | @@ -201,7 +202,7 @@ on(type: 'gnssStatusChange', callback: Callback<SatelliteStatusInfo>) : vo **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | string | 是 | 设置事件类型。type为“gnssStatusChange”,表示订阅GNSS卫星状态信息上报。 | | callback | Callback<SatelliteStatusInfo> | 是 | 接收GNSS卫星状态信息上报。 | @@ -229,7 +230,7 @@ off(type: 'gnssStatusChange', callback?: Callback<SatelliteStatusInfo>) : **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | string | 是 | 设置事件类型。type为“gnssStatusChange”,表示订阅GNSS卫星状态信息上报。 | | callback | Callback<SatelliteStatusInfo> | 否 | 接收GNSS卫星状态信息上报。 | @@ -257,7 +258,7 @@ on(type: 'nmeaMessageChange', callback: Callback<string>) : void; **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | string | 是 | 设置事件类型。type为“nmeaMessageChange”,表示订阅GNSS NMEA信息上报。 | | callback | Callback<string> | 是 | 接收GNSS NMEA信息上报。 | @@ -285,7 +286,7 @@ off(type: 'nmeaMessageChange', callback?: Callback<string>) : void; **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | string | 是 | 设置事件类型。type为“nmeaMessageChange”,表示订阅GNSS NMEA信息上报。 | | callback | Callback<string> | 否 | 接收GNSS NMEA信息上报。 | @@ -314,7 +315,7 @@ on(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent) : void; **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | string | 是 | 设置事件类型。type为“fenceStatusChange”,表示订阅围栏事件上报。 | | request | GeofenceRequest | 是 | 围栏的配置参数。 | @@ -359,7 +360,7 @@ off(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent) : void **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | string | 是 | 设置事件类型。type为“fenceStatusChange”,表示订阅围栏事件上报。 | | request | GeofenceRequest | 是 | 围栏的配置参数。 | @@ -402,7 +403,7 @@ on(type: 'countryCodeChange', callback: Callback<CountryCode>) : void; **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | string | 是 | 设置事件类型。type为“countryCodeChange”,表示订阅国家码信息上报。 | | callback | Callback<CountryCode> | 是 | 接收国家码信息上报。 | @@ -428,7 +429,7 @@ off(type: 'countryCodeChange', callback?: Callback<CountryCode>) : void; **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | string | 是 | 设置事件类型。type为“countryCodeChange”,表示取消订阅国家码信息上报。 | | callback | Callback<CountryCode> | 是 | 接收国家码信息上报。 | @@ -458,7 +459,7 @@ getCurrentLocation(request: CurrentLocationRequest, callback: AsyncCallback<L **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | request | [CurrentLocationRequest](#currentlocationrequest) | 否 | 设置位置请求参数。 | | callback | AsyncCallback<[Location](#location)> | 是 | 用来接收位置信息的回调。 | @@ -493,13 +494,13 @@ getCurrentLocation(request?: CurrentLocationRequest) : Promise<Location> **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | request | [CurrentLocationRequest](#currentlocationrequest) | 否 | 设置位置请求参数。 | **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<[Location](#location)> | 返回位置信息。 | @@ -526,7 +527,7 @@ getLastLocation(callback: AsyncCallback<Location>) : void **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | callback | AsyncCallback<[Location](#location)> | 是 | 用来接收上次位置的回调。 | @@ -557,7 +558,7 @@ getLastLocation() : Promise<Location> **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<[Location](#location)> | 返回上次位置信息。 | @@ -584,7 +585,7 @@ isLocationEnabled(callback: AsyncCallback<boolean>) : void **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | callback | AsyncCallback<boolean> | 是 | 用来接收位置服务状态的回调。 | @@ -614,7 +615,7 @@ isLocationEnabled() : Promise<boolean> **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<boolean> | 返回位置服务是否可用的状态。 | @@ -640,7 +641,7 @@ requestEnableLocation(callback: AsyncCallback<boolean>) : void **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | callback | AsyncCallback<boolean> | 是 | 用来接收位置服务状态的回调。 | @@ -670,7 +671,7 @@ requestEnableLocation() : Promise<boolean> **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<boolean> | 返回位置服务是否可用。 | @@ -697,7 +698,7 @@ enableLocation(callback: AsyncCallback<boolean>) : void; **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | callback | AsyncCallback<boolean> | 是 | 用来接收位置服务状态的回调。 | @@ -729,7 +730,7 @@ enableLocation() : Promise<boolean> **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<boolean> | 返回位置服务是否可用。 | @@ -755,7 +756,7 @@ disableLocation(callback: AsyncCallback<boolean>) : void; **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | callback | AsyncCallback<boolean> | 是 | 用来接收位置服务状态的回调。 | @@ -787,7 +788,7 @@ disableLocation() : Promise<boolean> **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<boolean> | 返回位置服务是否可用。 | @@ -811,7 +812,7 @@ isGeoServiceAvailable(callback: AsyncCallback<boolean>) : void **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | callback | AsyncCallback<boolean> | 是 | 用来接收地理编码服务状态的回调。 | @@ -841,7 +842,7 @@ isGeoServiceAvailable() : Promise<boolean> **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<boolean> | 返回地理编码服务是否可用的状态。 | @@ -866,7 +867,7 @@ getAddressesFromLocation(request: ReverseGeoCodeRequest, callback: AsyncCallback **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | request | [ReverseGeoCodeRequest](#reversegeocoderequest) | 是 | 设置逆地理编码请求的相关参数。 | | callback | AsyncCallback<Array<[GeoAddress](#geoaddress)>> | 是 | 设置接收逆地理编码请求的回调参数。 | @@ -898,13 +899,13 @@ getAddressesFromLocation(request: ReverseGeoCodeRequest) : Promise<Array<G **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | request | [ReverseGeoCodeRequest](#reversegeocoderequest) | 是 | 设置逆地理编码请求的相关参数。 | **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<Array<[GeoAddress](#geoaddress)>> | 返回地理描述信息。 | @@ -930,7 +931,7 @@ getAddressesFromLocationName(request: GeoCodeRequest, callback: AsyncCallback< **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | request | [GeoCodeRequest](#geocoderequest) | 是 | 设置地理编码请求的相关参数。 | | callback | AsyncCallback<Array<[GeoAddress](#geoaddress)>> | 是 | 设置接收地理编码请求的回调参数。 | @@ -962,13 +963,13 @@ getAddressesFromLocationName(request: GeoCodeRequest) : Promise<Array<GeoA **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | request | [GeoCodeRequest](#geocoderequest) | 是 | 设置地理编码请求的相关参数。 | **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<Array<[GeoAddress](#geoaddress)>> | 设置接收地理编码请求的回调参数。 | @@ -994,7 +995,7 @@ getCachedGnssLocationsSize(callback: AsyncCallback<number>) : void; **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | callback | AsyncCallback<number> | 是 | 用来接收GNSS芯片缓存位置个数的回调。 | @@ -1024,7 +1025,7 @@ getCachedGnssLocationsSize() : Promise<number>; **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<number> | 返回GNSS缓存位置的个数。 | @@ -1049,7 +1050,7 @@ flushCachedGnssLocations(callback: AsyncCallback<boolean>) : void; **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | callback | AsyncCallback<boolean> | 是 | 用来接收清空GNSS芯片缓存位置操作的结果。 | @@ -1079,7 +1080,7 @@ flushCachedGnssLocations() : Promise<boolean>; **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<boolean> | 清空所有GNSS缓存位置是否成功。 | @@ -1104,7 +1105,7 @@ sendCommand(command: LocationCommand, callback: AsyncCallback<boolean>) : **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | command | LocationCommand | 是 | 指定目标场景,和将要发送的命令(字符串)。 | | callback | AsyncCallback<boolean> | 是 | 用来接收命令发送的结果。 | @@ -1136,13 +1137,13 @@ sendCommand(command: LocationCommand) : Promise<boolean>; **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | command | LocationCommand | 是 | 指定目标场景,和将要发送的命令(字符串)。 | **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<boolean> | 表示命令发送成功或失败。 | @@ -1170,7 +1171,7 @@ isLocationPrivacyConfirmed(type : LocationPrivacyType, callback: AsyncCallback&l **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | LocationPrivacyType | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 | | callback | AsyncCallback<boolean> | 是 | 表示用户是否同意定位服务隐私申明。 | @@ -1203,13 +1204,13 @@ isLocationPrivacyConfirmed(type : LocationPrivacyType,) : Promise<boolean> **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | LocationPrivacyType | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 | **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<boolean> | 表示用户是否同意定位服务隐私申明。 | @@ -1236,7 +1237,7 @@ setLocationPrivacyConfirmStatus(type : LocationPrivacyType, isConfirmed: boolean **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | LocationPrivacyType | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 | | isConfirmed | boolean | 是 | 表示用户是否同意定位服务隐私申明。 | @@ -1270,14 +1271,14 @@ setLocationPrivacyConfirmStatus(type : LocationPrivacyType, isConfirmed : boolea **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | type | LocationPrivacyType | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 | | isConfirmed | boolean | 是 | 表示用户是否同意定位服务隐私申明。 | **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<boolean> | 表示操作是否成功。 | @@ -1300,7 +1301,7 @@ getCountryCode(callback: AsyncCallback<CountryCode>) : void; **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | callback | AsyncCallback<CountryCode> | 是 | 用来接收国家码。 | @@ -1332,7 +1333,7 @@ getCountryCode() : Promise<CountryCode>; **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<CountryCode> | 返回国家码。 | @@ -1361,7 +1362,7 @@ enableLocationMock(scenario?: LocationRequestScenario, callback: AsyncCallback&l **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | scenario | LocationRequestScenario | 否 | 指示在什么场景下使能位置模拟功能。 | | callback | AsyncCallback<void> | 是 | 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 | @@ -1392,14 +1393,14 @@ enableLocationMock(scenario?: LocationRequestScenario) : Promise<void>; **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | scenario | LocationRequestScenario | 否 | 指示使能什么场景的位置模拟功能。如果不携带该参数则表示使能所有场景的位置模拟功能。 | **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<void> | 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 | @@ -1433,7 +1434,7 @@ disableLocationMock(scenario?: LocationRequestScenario, callback: AsyncCallback& **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | scenario | LocationRequestScenario | 否 | 指示去使能某个场景的位置模拟功能。如果不携带该参数则表示去使能所有场景的位置模拟功能。 | | callback | AsyncCallback<void> | 是 | 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 | @@ -1465,13 +1466,13 @@ disableLocationMock(scenario?: LocationRequestScenario) : Promise<void>; **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | scenario | LocationRequestScenario | 否 | 指示去使能某个场景的位置模拟功能。如果不携带该参数则表示去使能所有场景的位置模拟功能。 | **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<void> | 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 | @@ -1505,7 +1506,7 @@ setMockedLocations(config: LocationMockConfig, callback: AsyncCallback<void&g **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | config | LocationMockConfig | 是 | 指示位置模拟的配置参数,包含模拟位置上报的时间间隔和模拟位置数组。 | | callback | AsyncCallback<void> | 是 | 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 | @@ -1543,13 +1544,13 @@ setMockedLocations(config: LocationMockConfig) : Promise<void>; **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | config | LocationMockConfig | 是 | 指示位置模拟的配置参数,包含模拟位置上报的时间间隔和模拟位置数组。 | **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<void> | 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 | @@ -1591,7 +1592,7 @@ enableReverseGeocodingMock(callback: AsyncCallback<void>) : void; **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | callback | AsyncCallback<void> | 是 | 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 | @@ -1625,7 +1626,7 @@ enableReverseGeocodingMock() : Promise<void>; **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<void> | 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 | @@ -1658,7 +1659,7 @@ disableReverseGeocodingMock(callback: AsyncCallback<void>) : void; **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | callback | AsyncCallback<void> | 是 | 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 | @@ -1692,7 +1693,7 @@ disableReverseGeocodingMock() : Promise<void>; **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<void> | 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 | @@ -1725,7 +1726,7 @@ setReverseGeocodingMockInfo(mockInfos: Array<ReverseGeocodingMockInfo>, ca **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | mockInfos | Array<ReverseGeocodingMockInfo> | 是 | 指示逆地理编码模拟功能的配置参数数组。逆地理编码模拟功能的配置参数包含了一个位置和一个地名。 | | callback | AsyncCallback<void> | 是 | 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 | @@ -1734,11 +1735,11 @@ setReverseGeocodingMockInfo(mockInfos: Array<ReverseGeocodingMockInfo>, ca ```js var mockInfos = [ - {"location": {"locale": "shanghai", "latitude": 30.12, "longitude": 120.11, "maxItems": 1}, "geoAddress": {"locale": "shanghai", "latitude": 30.12, "longitude": 120.11, "maxItems": 1, "isFromMock": true}}, - {"location": {"locale": "beijing", "latitude": 31.12, "longitude": 121.11, "maxItems": 1}, "geoAddress": {"locale": "beijing", "latitude": 31.12, "longitude": 121.11, "maxItems": 1, "isFromMock": true}}, - {"location": {"locale": "shenzhen", "latitude": 32.12, "longitude": 122.11, "maxItems": 1}, "geoAddress": {"locale": "shenzhen", "latitude": 32.12, "longitude": 122.11, "maxItems": 1, "isFromMock": true}}, - {"location": {"locale": "wuhan", "latitude": 33.12, "longitude": 123.11, "maxItems": 1}, "geoAddress": {"locale": "wuhan", "latitude": 33.12, "longitude": 123.11, "maxItems": 1, "isFromMock": true}}, - {"location": {"locale": "chengdu", "latitude": 34.12, "longitude": 124.11, "maxItems": 1}, "geoAddress": {"locale": "chengdu", "latitude": 34.12, "longitude": 124.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 30.12, "longitude": 120.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 30.12, "longitude": 120.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 31.12, "longitude": 121.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 31.12, "longitude": 121.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 32.12, "longitude": 122.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 32.12, "longitude": 122.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 33.12, "longitude": 123.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 33.12, "longitude": 123.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 34.12, "longitude": 124.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 34.12, "longitude": 124.11, "maxItems": 1, "isFromMock": true}}, ]; geolocation.setReverseGeocodingMockInfo(mockInfos, (err, data) => { if (err) { @@ -1763,13 +1764,13 @@ setReverseGeocodingMockInfo(mockInfos: Array<ReverseGeocodingMockInfo>) : **参数**: - | 参数名 | 类型 | 必填 | 说明 | + | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | mockInfos | Array<ReverseGeocodingMockInfo> | 是 | 指示逆地理编码模拟功能的配置信息数组。逆地理编码模拟功能的配置信息包含了一个位置和一个地名。 | **返回值**: - | 参数名 | 说明 | + | 参数名 | 说明 | | -------- | -------- | | Promise<void> | 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 | @@ -1777,11 +1778,11 @@ setReverseGeocodingMockInfo(mockInfos: Array<ReverseGeocodingMockInfo>) : ```js var mockInfos = [ - {"location": {"locale": "shanghai", "latitude": 30.12, "longitude": 120.11, "maxItems": 1}, "geoAddress": {"locale": "shanghai", "latitude": 30.12, "longitude": 120.11, "maxItems": 1, "isFromMock": true}}, - {"location": {"locale": "beijing", "latitude": 31.12, "longitude": 121.11, "maxItems": 1}, "geoAddress": {"locale": "beijing", "latitude": 31.12, "longitude": 121.11, "maxItems": 1, "isFromMock": true}}, - {"location": {"locale": "shenzhen", "latitude": 32.12, "longitude": 122.11, "maxItems": 1}, "geoAddress": {"locale": "shenzhen", "latitude": 32.12, "longitude": 122.11, "maxItems": 1, "isFromMock": true}}, - {"location": {"locale": "wuhan", "latitude": 33.12, "longitude": 123.11, "maxItems": 1}, "geoAddress": {"locale": "wuhan", "latitude": 33.12, "longitude": 123.11, "maxItems": 1, "isFromMock": true}}, - {"location": {"locale": "chengdu", "latitude": 34.12, "longitude": 124.11, "maxItems": 1}, "geoAddress": {"locale": "chengdu", "latitude": 34.12, "longitude": 124.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 30.12, "longitude": 120.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 30.12, "longitude": 120.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 31.12, "longitude": 121.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 31.12, "longitude": 121.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 32.12, "longitude": 122.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 32.12, "longitude": 122.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 33.12, "longitude": 123.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 33.12, "longitude": 123.11, "maxItems": 1, "isFromMock": true}}, + {"location": {"locale": "zh", "latitude": 34.12, "longitude": 124.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 34.12, "longitude": 124.11, "maxItems": 1, "isFromMock": true}}, ]; geolocation.setReverseGeocodingMockInfo(mockInfos) .then((result) => { diff --git a/zh-cn/readme/figures/location_En-1.png b/zh-cn/readme/figures/location_En-1.png new file mode 100644 index 0000000000000000000000000000000000000000..1ae4bcd7173f2e95004c96fa13d420c09f017f76 GIT binary patch literal 29495 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 Rq)92Lb*Q=owiLv8eg(D|Pt4)=2VqIr_inZZ+#{ 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 literal 0 HcmV?d00001 diff --git "a/zh-cn/readme/\344\275\215\347\275\256\346\234\215\345\212\241\345\255\220\347\263\273\347\273\237.md" "b/zh-cn/readme/\344\275\215\347\275\256\346\234\215\345\212\241\345\255\220\347\263\273\347\273\237.md" index 4eb10f4557..62c1be27a8 100644 --- "a/zh-cn/readme/\344\275\215\347\275\256\346\234\215\345\212\241\345\255\220\347\263\273\347\273\237.md" +++ "b/zh-cn/readme/\344\275\215\347\275\256\346\234\215\345\212\241\345\255\220\347\263\273\347\273\237.md" @@ -40,7 +40,7 @@ **图 1** **子系统架构图** -![](figures/zh-1.png) +![](figures/location_zh-1.png) ## 目录 -- GitLab