介紹小程序中調(diào)用百度地圖常用的三個(gè)方法从铲。(使用前記得先要去百度官網(wǎng)注冊需要使用的ak賬號)
1.地址解析瘪校,方法分為兩部,先通過微信獲取到用戶的坐標(biāo)名段,再將坐標(biāo)傳入百度地圖api中進(jìn)行地址解析阱扬。
//微信獲取坐標(biāo)
wx.getLocation({
type: 'wgs84', //默認(rèn)為 wgs84 返回 gps 坐標(biāo),gcj02 返回可用于 wx.openLocation 的坐標(biāo)
success: function(res) {
// res中l(wèi)ongitude和latitude就是所獲的的用戶位置
this.longitude = res.longitude
this.latitude = res.latitude
//調(diào)用坐標(biāo)解析方法
this.loadCity(page.longitude, page.latitude)
}
})
//解析坐標(biāo)
async loadCity(longitude, latitude) {
console.log("解析位置")
let page = this
//這里的ak記得要使用百度申請的ak賬號
wx.request({
url: 'https://api.map.baidu.com/geocoder/v2/?ak=**********&location=' + latitude + ',' + longitude + '&output=json',
data: {},
header: {
'Content-Type': 'application/json'
},
success: function(res) {
let city = res.data.result.addressComponent.city;
this.city = city;
//city為解析后的城市
},
fail: function() {
page.city = "獲取定位失敗"
},
})
}
-
百度搜索伸辟。首先創(chuàng)建百度地圖麻惶,并且發(fā)起suggestion檢索請求,在query參數(shù)中填入你要查詢的關(guān)鍵詞信夫。
//創(chuàng)建百度地圖 let BMap = new bmap.BMapWX({ ak: this.ak }); let fail = function() {}; let success = function() {} // 發(fā)起suggestion檢索請求 BMap.suggestion({ query: e.detail.value, region: this.city, city_limit: true , fail: fail, success: success });
3.查詢附近和周邊窃蹋。創(chuàng)建方法和百度搜索類似卡啰,只是改成調(diào)用search方法。
let BMap = new bmap.BMapWX({
ak: this.ak
});
let fail = function() {};
let success = function() {}
// 發(fā)起POI檢索請求
BMap.search({
"query": '辦公樓',
fail: fail,
success: success,
// 此處需要在相應(yīng)路徑放置圖片文件
iconPath: 'https://loumayun.oss-cn-shenzhen.aliyuncs.com/mini-program/map.png',
// 此處需要在相應(yīng)路徑放置圖片文件
iconTapPath: '../assets/icons/marker_red.png'
});