Home  >  Article  >  Web Front-end  >  Unable to obtain positioning latitude and longitude after uniapp is packaged

Unable to obtain positioning latitude and longitude after uniapp is packaged

WBOY
WBOYOriginal
2023-05-22 13:15:072303browse

Recently when using uniapp to develop a small geographical location-based application, I tried a variety of methods to obtain the user's geographical location information. I found that when the application is packaged, in some cases, the application cannot obtain the location information. After investigation, I found that this was due to the application not adding the appropriate permissions when packaging. This article will explain in detail the method of obtaining positioning information in uniapp and the solution to the problem of positioning failure after packaging the application.

1. Method of obtaining location information in uniapp

Uniapp provides a very convenient way to obtain geographical location information, that is, using the uni.getLocation() API officially provided by uniapp. This API needs to pass in an options parameter to configure the method of obtaining location information. The options that can be set include:

  • type: Positioning method, the default value is wgs84, which uses GPS for positioning. If set to gcj02, the National Survey Bureau encryption algorithm will be used;
  • altitude: whether to obtain altitude information, the default is false;
  • success: callback function after successful positioning;
  • fail: The callback function after positioning fails;
  • complete: The callback function after positioning is completed.

Among them, when the positioning is successful, you can obtain the longitude, latitude, speed, accuracy and other detailed information of the location information. The specific implementation method is as follows:

uni.getLocation({
    type: 'wgs84',
    success: function (res) {
        console.log('经度:' + res.longitude);
        console.log('纬度:' + res.latitude);
        console.log('速度:' + res.speed);
        console.log('精度:' + res.accuracy);
    },
    fail: function (err) {
        console.log('定位失败:' + err);
    }
 });

2. The problem of positioning failure after packaging the application

Although the method of obtaining positioning information in uniapp is very simple, after packaging the application, there may be Encountered a situation where positioning information cannot be obtained. This is because, when the application was packaged, the corresponding permissions were not added. If you want to obtain location information, you should add the following permissions to the manifest.json file:

"app-plus": {
    "permissions": {
        "location": {
            "desc": "用于获取定位信息"
        }
    }
}

The app-plus permission is used here because this permission can obtain all permissions of the system device in the application. Including camera, recording, file storage, mobile phone simulator, screen recording and other permissions. If you only need to obtain location permission, you can use the "location" permission to set it.

3. Summary

In uniapp, the method to obtain geographical location information is very simple, just use the uni.getLocation() API. However, before packaging the application, be sure to add the corresponding permissions in the manifest.json file, otherwise the geolocation information will not be obtained.

Finally, special attention is required: the positioning function consumes the user's power and computing resources. Therefore, when used in applications, the frequency of obtaining location information should be appropriately reduced, and the user should be given sufficient prompts and authorization.

The above is the detailed content of Unable to obtain positioning latitude and longitude after uniapp is packaged. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn