ホームページ  >  記事  >  ウェブフロントエンド  >  uniapp をパッケージ化した後、測位の緯度と経度を取得できない

uniapp をパッケージ化した後、測位の緯度と経度を取得できない

WBOY
WBOYオリジナル
2023-05-22 13:15:072304ブラウズ

最近、uniapp を使用して小規模な地理的位置ベースのアプリケーションを開発する際、ユーザーの地理的位置情報を取得するためにさまざまな方法を試しました。アプリケーションをパッケージ化すると、アプリケーションが位置情報を取得できない場合があることが分かりました。調査の結果、アプリケーションがパッケージ化時に適切な権限を追加しなかったことが原因であることがわかりました。この記事では、uniappで測位情報を取得する方法と、アプリケーションをパッケージ化した後に測位に失敗する問題の解決策について詳しく説明します。

1. uniapp で位置情報を取得する方法

Uniapp では、uniapp が公式に提供する uni.getLocation() API を使用して地理的位置情報を取得する非常に便利な方法を提供しています。この API は、位置情報の取得方法を構成するためにオプション パラメーターを渡す必要があります。設定できるオプションは次のとおりです。

  • type: 測位方法、デフォルト値は wgs84 で、測位に GPS を使用します。 gcj02 に設定すると、国家測量局の暗号化アルゴリズムが使用されます;
  • altitude: 高度情報を取得するかどうか、デフォルトは false;
  • success: 測位成功後のコールバック関数;
  • fail: 測位失敗後のコールバック関数;
  • complete: 測位完了後のコールバック関数。

このうち、測位に成功すると、位置情報の経度、緯度、速度、精度などの詳細な情報を取得できます。

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. アプリケーションのパッケージ化後の測位失敗の問題

uniappで位置情報を取得する方法は非常に簡単ですが、アプリケーションをパッケージ化した後、位置情報が取得できない状況が発生する場合があります。これは、アプリケーションがパッケージ化されたときに、対応するアクセス許可が追加されていないためです。位置情報を取得したい場合は、manifest.json ファイルに次のアクセス許可を追加する必要があります。

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

app-plus アクセス許可は、アプリケーション内のシステム デバイスのすべてのアクセス許可を取得できるため、ここでは使用されます。カメラ、録音、ファイル ストレージ、携帯電話シミュレーター、画面録画、その他の権限が含まれます。位置情報のアクセス許可のみを取得する必要がある場合は、「位置情報」のアクセス許可を使用して設定できます。

3. 概要

uniapp では、地理的位置情報を取得する方法は非常に簡単で、uni.getLocation() API を使用するだけです。ただし、アプリケーションをパッケージ化する前に、manifest.json ファイルに対応するアクセス許可を必ず追加してください。追加しないと、地理位置情報が取得されません。

最後に、特に注意が必要なのは、測位機能はユーザーのパワーとコンピューティングリソースを消費するため、アプリケーションで使用する場合は、位置情報の取得頻度を適切に減らし、ユーザーに十分なプロンプトを提供する必要があります。そして認可。

以上がuniapp をパッケージ化した後、測位の緯度と経度を取得できないの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。