国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信小程序中使用 wx.getLocation獲取當(dāng)前詳細(xì)位置并計(jì)算距離

這篇具有很好參考價(jià)值的文章主要介紹了微信小程序中使用 wx.getLocation獲取當(dāng)前詳細(xì)位置并計(jì)算距離。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

wx.getLocation只能夠獲取經(jīng)緯度,不能夠拿到詳細(xì)地址;如果你的項(xiàng)目剛好也使用騰訊地圖的api,那么可以通過騰訊地圖的逆解析就能拿到詳細(xì)地址了;

1,wx.getLocation()

先介紹一下wx.getLocation()方法的使用; 此方法可以獲取當(dāng)前的經(jīng)緯度和速度、高度;官網(wǎng)鏈接

想要使用這個(gè)方法,先需要在小程序后臺(tái) 《開發(fā)管理-接口設(shè)置》中開通接口權(quán)限,需要審核通過才能使用:

微信小程序中使用 wx.getLocation獲取當(dāng)前詳細(xì)位置并計(jì)算距離

注意:自 2022 年 7 月 14 日后發(fā)布的小程序,若使用該接口,需要在 app.json 中進(jìn)行聲明,否則將無(wú)法正常使用該接口;如下:
app.json

 "requiredPrivateInfos": ["getLocation", "chooseLocation", "chooseAddress"],

開始使用:

wx.getLocation({
    type: 'gcj02', // 比較精確
    success: (res) => {
     console.log(res);
    }
  })

那么此接口只能獲取到當(dāng)前的經(jīng)緯度 并不是當(dāng)前的省市區(qū)街道等地址;下面我們會(huì)配合使用騰訊地圖的api進(jìn)行地址的逆解析獲取詳細(xì)地址;

2,獲取詳細(xì)地址

第一步:在騰訊位置服務(wù)注冊(cè)獲取key或公司里面已經(jīng)獲取過key: 騰訊地圖官方鏈接

第二步:就是在小程序的《開發(fā)管理-域名服務(wù)器》中的request合法域名中添加一行:https://apis.map.qq.com

微信小程序中使用 wx.getLocation獲取當(dāng)前詳細(xì)位置并計(jì)算距離
第三步:在app.json中添加:

  "permission": {
    "scope.userLocation": {
      "desc": "你的位置信息將用于小程序位置接口的效果展示"
    }
  }

第四步:我是在onLoad生命周期加載的代碼,你可以根據(jù)具體情況把下面代碼復(fù)制到其他相應(yīng)位置;

先下載jssdk文件解壓后放到相應(yīng)位置

// 引入SDK核心類
let QQMap = require("../../utils/qqmap-wx-jssdk.min"); 
let QQMapSdk;
Page({
    
/**
 * 頁(yè)面的初始數(shù)據(jù)
 */
data: {
  currentLat:"",
  currentLon:"",
},
})
  	/**
   * 生命周期函數(shù)--監(jiān)聽頁(yè)面加載
   */
  	onLoad(query){
   		this.getLoaction()
	}
	// 獲取位置的方法
	 getLoaction() {
        // 1.先開始定位
        wx.getLocation({
          type: 'gcj02', // 比較精確
          success: (res) => {
            // 2,地址逆解析  根據(jù)經(jīng)緯度獲取實(shí)際地址
            QQMapSdk.reverseGeocoder({
              location: {
                latitude: res.latitude,
                longitude: res.longitude
              },
              success: (data) => {
                console.log("當(dāng)前地址信息:", data);
                // 存儲(chǔ) 詳細(xì)地址 和當(dāng)前獲取的經(jīng)緯度
                let address = data.result.address + data.result.formatted_addresses.recommend;
                this.setData({
                  currentLoaction: address,
                  currentLat: data.result.location.lat,
                  currentLon: data.result.location.lng
                })
            
              },
              fail: (error) => {
                console.error("err:", error)
              },
            })
          }
        })
      }

3,計(jì)算距離

可以使用 calculateDistance 方法計(jì)算兩地經(jīng)緯度之間的距離;

   // 計(jì)算兩個(gè)經(jīng)緯度的直線距離 https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/methodCalculatedistance
     calculateDistanceFun(){
        QQMapSdk.calculateDistance({
            mode: 'straight',//直線距離
            // 起點(diǎn)坐標(biāo)
            from: {
              latitude: this.data.latlon.lat,
              longitude: this.data.latlon.lon
            },
            // 終點(diǎn)坐標(biāo) to是當(dāng)前位置 注意是一個(gè)數(shù)組
            to: [{
              latitude: data.result.location.lat,
              longitude: data.result.location.lng
            }],
            success: (calc) => {
              // 計(jì)算結(jié)果輸出為米
              let distance = calc.result.elements[0].distance;
              console.log("計(jì)算距離為:", distance + '米');
            },
            // 失敗的情況
            fail: (error) => {
              console.error('error:', error);
            },
          })
     }

4,報(bào)錯(cuò)信息: getLocation:fail 頻繁調(diào)用會(huì)增加電量損耗

如果出現(xiàn)以下報(bào)錯(cuò)信息說明:

微信小程序中使用 wx.getLocation獲取當(dāng)前詳細(xì)位置并計(jì)算距離

我們?cè)谡{(diào)用wx.getLocation()方法的回調(diào)里面又直接調(diào)用了騰訊地圖的reverseGeocoder方法(騰訊地圖api也可能也調(diào)用了wx.getLocation()方法 導(dǎo)致間隔不夠30秒報(bào)頻繁調(diào)用)

解決方法:調(diào)用 reverseGeocoder方法時(shí) 傳入經(jīng)緯度即可,什么都不傳就會(huì)報(bào)這個(gè)錯(cuò)誤;

 		qqmapsdk.reverseGeocoder({
 			//傳入當(dāng)前的經(jīng)緯度
              location: {
                latitude: res.latitude,
                longitude: res.longitude
              },
              success: (data) => {
              },
              fail: (error) => {
                console.error("err:", error)
              },
            })

5,報(bào)錯(cuò)信息: 請(qǐng)求源未被授權(quán)

出現(xiàn)這個(gè)報(bào)錯(cuò)說明 你引用的key值 沒有授權(quán)你當(dāng)前電腦的ip地址;

微信小程序中使用 wx.getLocation獲取當(dāng)前詳細(xì)位置并計(jì)算距離


解決方法:

需要在騰訊地圖的后臺(tái)配置一下你的ip;并把允許在小程序中使用勾選上;
微信小程序中使用 wx.getLocation獲取當(dāng)前詳細(xì)位置并計(jì)算距離
WebServiceAPI Key配置中的授權(quán)IP文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-482854.html

到了這里,關(guān)于微信小程序中使用 wx.getLocation獲取當(dāng)前詳細(xì)位置并計(jì)算距離的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 微信小程序地理位置接口wx.getLocation接口申請(qǐng)方法技巧

    微信小程序地理位置接口wx.getLocation接口申請(qǐng)方法技巧

    我們?cè)陂_發(fā)微信小程序的時(shí)候,提交審核微信官方就會(huì)檢測(cè)咱們的小程序有沒有用到位置功能,涉及用到哪個(gè)位置接口,然后就會(huì)要求我們先申請(qǐng)相應(yīng)的位置接口,審核通過后才可以發(fā)布小程序。 這個(gè)接口審核一直是讓大家頭痛的事情,有的小伙伴申請(qǐng)幾十次都不給過,有時(shí)

    2024年02月13日
    瀏覽(17)
  • 【微信小程序地理位置權(quán)限】wx.getLocation申請(qǐng)教程+申請(qǐng)素材

    【微信小程序地理位置權(quán)限】wx.getLocation申請(qǐng)教程+申請(qǐng)素材

    為進(jìn)一步規(guī)范開發(fā)者調(diào)用涉用戶信息相關(guān)接口或功能,保障用戶合法權(quán)益,平臺(tái)將對(duì)如下地理位置相關(guān)接口調(diào)用實(shí)行準(zhǔn)入開通: wx.getLocation、wx.onLocationChange、wx.chooseAddress、wx.chooseLocation、wx.choosePoi 自2022年4月18日開始,如使用以上接口,在代碼審核環(huán)節(jié)將檢測(cè)該接口是否已完

    2024年02月10日
    瀏覽(40)
  • 微信小程序wx.getLocation 真機(jī)調(diào)試不出現(xiàn)隱私彈窗

    微信小程序wx.getLocation 真機(jī)調(diào)試不出現(xiàn)隱私彈窗

    ????????在小程序的開發(fā)過程中,首頁(yè)中包含要獲取用戶地理位置的功能,所以在這里的onLoad()中調(diào)用了wx.getLocation(),模擬調(diào)試時(shí)一切正常,但到了真機(jī)環(huán)境中就隱私框就不再?gòu)棾?,并且出現(xiàn)了報(bào)錯(cuò),在打印之后發(fā)現(xiàn)getLocation的成功和失敗均沒有進(jìn)行 ???????? (設(shè)置

    2024年04月16日
    瀏覽(29)
  • uniapp開發(fā)指南1 -- 微信小程序申請(qǐng) wx.getLocation、wx.chooseLocation API指南

    uniapp開發(fā)指南1 -- 微信小程序申請(qǐng) wx.getLocation、wx.chooseLocation API指南

    最近項(xiàng)目中要使用微信小程序的地理位置信息采集的功能,需要使用?wx.chooseLocation 和?wx.getLocation 兩個(gè)API接口。于是我全程負(fù)責(zé)從申請(qǐng)到開發(fā),下面由我來(lái)簡(jiǎn)述一下申請(qǐng)和開發(fā)指南。 這是地址: 微信公眾平臺(tái) 首先我們進(jìn)入的小程序后臺(tái),點(diǎn)擊 “ 設(shè)置 ” 進(jìn)入 “ 基本設(shè)置

    2024年02月03日
    瀏覽(24)
  • 微信小程序申請(qǐng)地理位置接口wx.getLocation不通過的應(yīng)對(duì)方案 過率很高

    微信小程序申請(qǐng)地理位置接口wx.getLocation不通過的應(yīng)對(duì)方案 過率很高

    1、 你好,你的小程序“xxxxxx”申請(qǐng)的wx.getLocation接口因你提供的申請(qǐng)?jiān)?輔助圖片/網(wǎng)頁(yè)/視頻內(nèi)容無(wú)法確認(rèn)申請(qǐng)接口使用場(chǎng)景審核不通過,建議修改后重新提交。 2、 你好,你的小程序“xxxxx”申請(qǐng)的wx.getLocation接口因你所描述的小程序接口使用場(chǎng)景,目前未符合接入wx.getL

    2024年02月15日
    瀏覽(24)
  • 微信小程序使用高德地圖獲取當(dāng)前定位

    微信小程序使用高德地圖獲取當(dāng)前定位

    1.在騰訊地圖官網(wǎng)注冊(cè)一個(gè)key(創(chuàng)建一個(gè)應(yīng)用會(huì)自動(dòng)生成一個(gè)key,詳細(xì)步驟如圖) 騰訊位置服務(wù) - 立足生態(tài),連接未來(lái) 注意點(diǎn):開通webserviceAPI服務(wù):控制臺(tái) -應(yīng)用管理 -?我的應(yīng)用?-添加key- 勾選WebServiceAPI - 保存 (小程序SDK需要用到webserviceAPI的部分服務(wù),所以使用該功能的KEY需

    2024年02月06日
    瀏覽(104)
  • 第二期 微信云開發(fā)之位置信息獲取(wx.getLocation)

    第二期 微信云開發(fā)之位置信息獲取(wx.getLocation)

    很多小伙伴在開發(fā)微信小程序的時(shí)候,需要獲取當(dāng)前用戶位置信息時(shí),都會(huì)遇到該如何獲取位置詳細(xì)信息的問題,以下是我的處理方法。 首先,我在生活智打卡小程序使用的是微信小程序自帶的獲取用戶的位置信息的接口(wx.getLocation),但是這個(gè)接口不會(huì)返回具體的地址信

    2024年02月09日
    瀏覽(16)
  • uniapp微信小程序getLocation獲取經(jīng)緯度報(bào)錯(cuò)

    uniapp微信小程序getLocation獲取經(jīng)緯度報(bào)錯(cuò)

    uniapp開發(fā)微信小程序時(shí),需要做一個(gè)授權(quán)位置信息的需求,使用getLocation獲取用戶當(dāng)前的經(jīng)緯度。期間遇到了一個(gè)問題老是報(bào)這個(gè)錯(cuò)誤:“getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json” 根據(jù)官方文檔 https://developers.weixin.qq.com/miniprogram/dev/api/loc

    2024年02月13日
    瀏覽(83)
  • 微信小程序wx.getFuzzyLocation獲取經(jīng)緯度的成功使用示例,以及注意事項(xiàng)

    微信小程序wx.getFuzzyLocation獲取經(jīng)緯度的成功使用示例,以及注意事項(xiàng)

    注意事項(xiàng): 1. 微信小程序基礎(chǔ)庫(kù)必須在 2.25.0及以上 才可以用這個(gè)接口,并且微信開發(fā)者工具也要是最新的 2.這個(gè)定位接口在編譯器中報(bào)錯(cuò),只有在 真機(jī)中好用 (偶爾在編譯器中也好用),可以使用真機(jī)調(diào)試進(jìn)行開發(fā)查看效果 上代碼。 第一步:先在小程序公眾平臺(tái)? ? 開發(fā)

    2024年02月11日
    瀏覽(78)
  • 微信小程序報(bào)錯(cuò)wx.getLocation need to be declared in the requiredPrivateInfos field in app.json

    微信小程序報(bào)錯(cuò)wx.getLocation need to be declared in the requiredPrivateInfos field in app.json

    wx.getLocation need to be declared in the requiredPrivateInfos field in app.json/ext.json(env: Windows,mp,1.06.2301160; lib: 2.30.3) 自 2022 年 7 月 14 日后發(fā)布的小程序,使用以下8個(gè)地理位置相關(guān)接口時(shí),需要聲明該字段,否則將無(wú)法正常使用。 文件app.json ? 全局配置 | 微信開放文檔 微信開發(fā)者平臺(tái)文檔

    2024年02月05日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包