微信小程序獲取當前所在城市的方法

? ? ? ?現在很多企業(yè)商家為了提供更準確的服務,基本都要獲取用戶當前所在的地理位置,城市是其中最基本的。而微信小程序官方提供的API只能獲取當前地理位置的經緯度,需要經過第三方轉換才可以得到我所需的城市名,經過多次測試,終于找到方法。

這兩個方法都需要用到小程序官方的API來獲取經緯度,這個API的信息如下

wx.getLocation(OBJECT)???

地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/location.html#wxgetlocationobject

獲取當前的地理位置、速度。當用戶離開小程序后,此接口無法調用;當用戶點擊“顯示在聊天頂部”時,此接口可繼續(xù)調用。

OBJECT參數說明:

success返回參數說明:

示例代碼:

?

使用實例代碼就可以獲取經緯度:可以從控制臺進行查看:


latitude:接下來用到的緯度

longitude:接下來用到的經度


用這個API結合另外兩個API即可得到想要的地理位置。

第一個是使用易源數據的api?地址與經緯度互轉? https://www.showapi.com/api/lookPoint/238/2

首先在左側的 接入點列表 選擇 經緯度-->地址 。

這個api需要的請求參數有三個:


知道這些就好辦了,直接使用wx.request(OBJECT)按照下圖操作即可獲取城市。


輸出的結果如下:


方法到此結束,附上完整代碼:

//index.js

//獲取應用實例

var app = getApp()

Page({

onLoad: function () {

console.log('onLoad')

var that = this

//調用應用實例的方法獲取全局數據

app.getUserInfo(function(userInfo){

//更新數據

that.setData({

userInfo:userInfo

})

})

wx.getLocation({ //官方獲取經緯度api

type: 'wgs84',

success: function (res) {

console.log(res)

var latitude = res.latitude //緯度

var longitude = res.longitude //經度

var speed = res.speed? //速度,這里用不到

var accuracy = res.accuracy //精確度

wx.request({ //向服務器發(fā)送請求轉換地理位置

url: 'http://route.showapi.com/238-2',//請求的url

data:{ //請求的參數

showapi_appid:'42391',//易源應用key:申請賬號可獲取

showapi_sign:'bb5250042ace47a088290abf88229a38',//數字簽名:申請賬號可獲取

lat:latitude,//緯度

lng: longitude,//經度

from:1// from

},

success:function (res){

console.log(res)

// console.log("當前城市:"+res.data.showapi_res_body.addressComponent.city)

}

})

}

})

}

})

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容