Maison  >  Article  >  interface Web  >  Impossible d'obtenir la latitude et la longitude de positionnement une fois l'uniapp emballé

Impossible d'obtenir la latitude et la longitude de positionnement une fois l'uniapp emballé

WBOY
WBOYoriginal
2023-05-22 13:15:072304parcourir

Récemment, lors du développement d'une petite application basée sur la géolocalisation à l'aide d'uniapp, j'ai essayé diverses méthodes pour obtenir les informations de géolocalisation de l'utilisateur. J'ai constaté que lorsque l'application est packagée, dans certains cas, l'application ne peut pas obtenir les informations de localisation. Après enquête, j'ai découvert que cela était dû au fait que l'application n'ajoutait pas les autorisations appropriées lors de l'empaquetage. Cet article expliquera en détail la méthode d'obtention des informations de positionnement dans uniapp et la solution au problème d'échec de positionnement après l'empaquetage de l'application.

1. Comment obtenir des informations de localisation dans uniapp

uniapp fournit un moyen très pratique d'obtenir des informations de localisation géographique, c'est-à-dire en utilisant l'API uni.getLocation() officiellement fournie par uniapp. Cette API doit transmettre un paramètre d'options pour configurer la méthode d'obtention des informations de localisation. Les options pouvant être définies incluent :

  • type : méthode de positionnement, la valeur par défaut est wgs84, qui utilise le GPS pour le positionnement. S'il est défini sur gcj02, l'algorithme de cryptage du National Survey Bureau sera utilisé ;
  • altitude : s'il faut obtenir des informations sur l'altitude, la valeur par défaut est fausse ;
  • succès : fonction de rappel après un positionnement réussi
  • échec : fonction de rappel après un échec du positionnement ;
  • complet : fonction de rappel une fois le positionnement terminé.

Parmi eux, lorsque le positionnement est réussi, vous pouvez obtenir la longitude, la latitude, la vitesse, la précision et d'autres informations détaillées sur les informations de localisation. La méthode de mise en œuvre spécifique est la suivante :

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. Le problème d'échec de positionnement survient après l'empaquetage de l'application

Bien que la méthode d'obtention des informations de positionnement dans uniapp soit très simple, après l'empaquetage de l'application, vous pouvez rencontrer une situation où le les informations de positionnement ne peuvent pas être obtenues. En effet, lorsque l'application a été packagée, les autorisations correspondantes n'ont pas été ajoutées. Si vous souhaitez obtenir des informations de localisation, vous devez ajouter les autorisations suivantes au fichier manifest.json :

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

L'autorisation app-plus est utilisée ici car cette autorisation peut obtenir toutes les autorisations du périphérique système dans l'application, y compris l'appareil photo et enregistrement, stockage de fichiers, simulateur de téléphone mobile, enregistrement d'écran et autres autorisations. Si vous avez uniquement besoin d'obtenir l'autorisation de localisation, vous pouvez utiliser l'autorisation « emplacement » pour la définir.

3. Résumé

Dans uniapp, la méthode pour obtenir des informations de localisation géographique est très simple, il suffit d'utiliser l'API uni.getLocation(). Cependant, avant de packager l'application, assurez-vous d'ajouter les autorisations correspondantes dans le fichier manifest.json, sinon les informations de géolocalisation ne seront pas obtenues.

Enfin, une attention particulière est requise : la fonction de positionnement consomme de l'énergie et des ressources informatiques de l'utilisateur, donc lorsqu'elle est utilisée dans des applications, la fréquence d'obtention des informations de localisation doit être réduite de manière appropriée, et l'utilisateur doit recevoir suffisamment d'invites et d'autorisations.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn