小程序中使用百度地图

介绍小程序中调用百度地图常用的三个方法。(使用前记得先要去百度官网注册需要使用的ak账号)
1.地址解析,方法分为两部,先通过微信获取到用户的坐标,再将坐标传入百度地图api中进行地址解析。

      //微信获取坐标
     wx.getLocation({
            type: 'wgs84', //默认为 wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 
            success: function(res) {
                //  res中longitude和latitude就是所获的的用户位置
                this.longitude = res.longitude
                this.latitude = res.latitude
                //调用坐标解析方法
                this.loadCity(page.longitude, page.latitude)
            }
        })

    //解析坐标
    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 = "获取定位失败"
            },
        })
    }
  1. 百度搜索。首先创建百度地图,并且发起suggestion检索请求,在query参数中填入你要查询的关键词。

             //创建百度地图
             let BMap = new bmap.BMapWX({
                 ak: this.ak
             });
             let fail = function() {};
             let success = function() {}
             // 发起suggestion检索请求 
             BMap.suggestion({
                 query: e.detail.value,
                 region: this.city,
                 city_limit: true  ,
                 fail: fail,
                 success: success
             });
    

3.查询附近和周边。创建方法和百度搜索类似,只是改成调用search方法。

      let BMap = new bmap.BMapWX({
                ak: this.ak
            });
            let fail = function() {};
            let success = function() {}
     // 发起POI检索请求 
            BMap.search({
                 "query": '办公楼',
                 fail: fail,
                 success: success,
                 // 此处需要在相应路径放置图片文件 
                 iconPath: 'https://loumayun.oss-cn-shenzhen.aliyuncs.com/mini-program/map.png',
                // 此处需要在相应路径放置图片文件 
                 iconTapPath: '../assets/icons/marker_red.png'
            });

你可能感兴趣的:(小程序中使用百度地图)