請先看微信小程序關(guān)于定位的API:https://mp.weixin.qq.com/debug/wxadoc/dev/api/location.html#wxgetlocationobject
可以看到:小程序只提供了一個(gè)獲取地理位置、速度的api,并沒有關(guān)于地位位置的信息等,因此需要借助一些第三方的api來實(shí)現(xiàn)。
實(shí)現(xiàn)方法一:百度地圖API
1.登錄百度開放平臺http://lbsyun.baidu.com并申請AK,填寫相關(guān)信息。


2.在項(xiàng)目根目錄下新建一個(gè)路徑,下載百度地圖微信小程序JavaScript API,解壓后得到 bmap-wx.js 文件(解壓后有bmap-wx.js和bmap-wx.min.js兩種文件,考慮到輕量化,建議用壓縮版的bmap-wx.min.js),將其拷貝到新建的路徑下,完成。
3.設(shè)置請求合法域名
登錄微信公眾平臺-> "設(shè)置" -> "開發(fā)設(shè)置" -> "request 合法域名" ->添加 api.map.baidu.com -> 點(diǎn)擊"保存并提交",如圖所示:

打開開發(fā)者工具 -> "項(xiàng)目" -> 點(diǎn)擊"刷新",合法域名設(shè)置同步完成。
4. 使用:
-
var app = getApp()
-
-
var bmap = require('../../utils/bmap-wx.js');
-
var wxMarkerData = [];
-
Page({
-
-
-
-
data: {
-
ak: "。。。",
-
markers: [],
-
longitude: '',
-
latitude: '',
-
address: '',
-
business: {},
-
desc:'' ,
-
},
-
onLoad: function (options) {
-
console.log("定位");
-
var that = this;
-
-
var BMap = new bmap.BMapWX({
-
ak: that.data.ak
-
});
-
var success = function(data){
-
console.log(data);
-
wxMarkerData = data.wxMarkerData;
-
that.setData({
-
markers:wxMarkerData,
-
latitude: wxMarkerData[0].latitude,
-
longitude:wxMarkerData[0].longitude,
-
address:wxMarkerData[0].address,
-
business: wxMarkerData[0].business,
-
desc: wxMarkerData[0].desc,
-
city: wxMarkerData[0].title,
-
});
-
}
-
var fail = function(data){
-
console.log(data);
-
}
-
BMap.regeocoding({
-
fail:fail,
-
success:success
-
});
-
},
-
})
-
<view class="jing">經(jīng)度:{{latitude}}</view>
-
<view class="wei">緯度:{{longitude}}</view>
-
<view class="add">地址:{{address}}</view>
-
<view class="add">商圈:{{business}}</view>
-
<view class="add">描述:{{desc}}</view>
實(shí)現(xiàn)方法二:騰訊地圖API
-
申請開發(fā)者密鑰(key):申請密匙
-
下載微信小程序JavaScriptSDK,微信小程序JavaScriptSDK v1.0
-
安全域名設(shè)置,需要在微信公眾平臺添加域名地址https://apis.map.qq.com
-
示例
-
-
var QQMapWX = require('../../utils/qqmap-wx-jssdk.js');
-
var util = require("../../utils/util.js");
-
var qqmapsdk;
-
Page({
-
data: {
-
resData: []
-
},
-
onLoad: function (options) {
-
-
qqmapsdk = new QQMapWX({
-
key: 'HHHHH-BHJDJ-CZQPP-UN4IHS-QYOF2-MYFU3'
-
});
-
},
-
onShow: function () {
-
var that = this;
-
-
qqmapsdk…({
-
-
})
-
}
-
})
-