この記事では、WeChat アプレットの例を紹介します。現在の都市の位置を取得し、地理的位置を再認証するコードの実装です。必要な友人が参考になれば幸いです。 。
1. 現在の地理的位置を取得するには、wx.getLocation インターフェイスを使用して経度、緯度、速度、その他の情報を返すことができます。
注: そのデフォルトの動作メカニズム:
最初のページにアクセスしてください。時刻に API を呼び出し、ユーザー認証結果を返し、その結果を保持します。ユーザーがミニ プログラムを削除したり、承認ステータスを変更しない限り、ユーザーが再度ページに入っても、承認結果は変更されず、API は再度呼び出されません。
削除せずに再度承認リクエストを開始し続けます。ミニ プログラムには wx.openSetting の使用が必要です。
したがって、最初のステップは、wx.openSetting を取得することです
2. 2 番目のステップは、wx.getLocation インターフェイスを通じて経度、緯度、速度などの情報を返すことです
3。経度と緯度を地理に変換します。位置については、Tencent 位置情報サービスの WeChat アプレット用地理変換 JS SDK の API または Baidu API (私が使用している Baidu API) を使用できます
ユーザーが初めてページにアクセスしたとき(地理的位置の認証が必要です)、ページ上で onShow を実行します。このとき、wx.getLocation を呼び出してユーザーに認証を求めます。今後ページに入るたびに、特定のユーザー認証情報が wx.getSetting インターフェイスを通じて返されます。
コードは次のとおりです:
onShow: function () { var _this = this; //调用定位方法 _this.getUserLocation(); }, //定位方法 getUserLocation: function () { var _this = this; wx.getSetting({ success: (res) => { // res.authSetting['scope.userLocation'] == undefined 表示 初始化进入该页面 // res.authSetting['scope.userLocation'] == false 表示 非初始化进入该页面,且未授权 // res.authSetting['scope.userLocation'] == true 表示 地理位置授权 if (res.authSetting['scope.userLocation'] != undefined && res.authSetting['scope.userLocation'] != true) { //未授权 wx.showModal({ title: '请求授权当前位置', content: '需要获取您的地理位置,请确认授权', success: function (res) { if (res.cancel) { //取消授权 wx.showToast({ title: '拒绝授权', icon: 'none', duration: 1000 }) } else if (res.confirm) { //确定授权,通过wx.openSetting发起授权请求 wx.openSetting({ success: function (res) { if (res.authSetting["scope.userLocation"] == true) { wx.showToast({ title: '授权成功', icon: 'success', duration: 1000 }) //再次授权,调用wx.getLocation的API _this.geo(); } else { wx.showToast({ title: '授权失败', icon: 'none', duration: 1000 }) } } }) } } }) } else if (res.authSetting['scope.userLocation'] == undefined) { //用户首次进入页面,调用wx.getLocation的API _this.geo(); } else { console.log('授权成功') //调用wx.getLocation的API _this.geo(); } } }) }, // 获取定位城市 geo: function () { var _this = this; wx.getLocation({ type: 'wgs84', success: function (res) { var latitude = res.latitude var longitude = res.longitude var speed = res.speed var accuracy = res.accuracy wx.request({ url: 'http://api.map.baidu.com/geocoder/v2/?ak=xxxxxxxxxxxx&location=' + res.latitude + ',' + res.longitude + '&output=json', data: {}, header: { 'Content-Type': 'application/json' }, success: function (ops) { console.log('定位城市:', ops.data.result.addressComponent.city) }, fail: function (resq) { wx.showModal({ title: '信息提示', content: '请求失败', showCancel: false, confirmColor: '#f37938' }); }, complete: function () { } }) } }) },
レンダリング: 初めてページに入った後
、承認を拒否した後、再度ページに入るか、ページ上のボタンをクリック(場所を取得)してバインドしますJS
上記 2 つのポップアップ ボックスの構造は同じです。前者は wx.getLocation インターフェイスによって提供されるスタイルを使用し、後者は wx.showModel インターフェイスによって提供されるスタイルを使用します。
承認の原則について簡単に説明します。初めてページに入るとき、onshow は wx.getLocation を呼び出してユーザーに承認を求めます。ユーザーが拒否して再度ページに入った後、 wx.getSetting インターフェイス。
res.authSetting['scope.userLocation'] の値は true と比較され、true の場合は認可が許可され、false の場合は認可が拒否されます。
関連する推奨事項:
setData を使用して配列内の特定の値を変更するアプレットの実装
アプレットは、プレビュー画像を選択し、長押しして画像を削除するコードを実装します
WeChat アプレット- - Raspberry Pi 車制御コードフロー
以上がWeChat アプレットの例: 現在の都市の位置を取得し、地理的位置を再認証するためのコード実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

Dreamweaver Mac版
ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
