微信小程序的百度地图获取地理位置

由于小程序只提供了我们一个获取地理位置、速度的api,并没有获取的相关地位位置的信息等等,因此我们还需要借助一些第三方的api来实现

wx.getLocation(OBJECT)

获取当前的地理位置、速度。当用户离开小程序后,此接口无法调用;当用户点击“显示在聊天顶部”时,此接口可继续调用。

下面,介绍使用百度地图的api来获取地位位置的信息。

1> 第一步:先到百度开放平台http://lbsyun.baidu.com申请ak
http://lbsyun.baidu.com/index.php?title=wxjsapi/guide/key

2> 第二步:配置你的request合法域名
配置域名请到微信公众平台的后台里设置

3> 第三步:下载百度地图的api ,链接:http://download.csdn.net/detail/michael_ouyang/9754015
解压后,里面有2个js文件,一个是常规没压缩的,另一个是压缩过的
PS:由于小程序项目文件大小限制为1M,建议使用压缩版的js文件!

4> 第四步:引入JS模块
在项目根目录下新建一个路径,将百度的js文件拷贝到新建的路径下,完成。
这里写图片描述

5> 第五步:在所需的js文件内导入js
// 引用百度地图,注意:require传入一个相对路径

let util = require('../../utils/util.js');

6> 第六步:编辑代码
注意:此处楼主使用的ak是随便写的,同学们需要自行申请!!!

index.wxml

<view>
  <view>经度:{{longitude}}</view>
  <view>纬度:{{latitude}}</view>
  <view>地址:{{address}}</view>
  <view>城市:{{cityInfo.city}}</view>
</view>

index.js

//index.js

let util = require('../../utils/util.js');
// 引用百度地图
let bmap = require('../libs/bmap-wx/bmap-wx.min.js');
let wxMarkerData = [];    //  定位成功回调对象


//获取应用实例
var app = getApp()
Page({
  data: {
    ak:"11111",      //  ak
    markers:[],
    longitude:'',     //  经度
    latitude:'',        //  纬度
    address:'',       //  地址
    cityInfo:{},      //  城市信息
  },
  onLoad: function () {
    var that = this;
    // 获取定位地理位置
    // 新建bmap对象
    let BMap = new bmap.BMapWX({
      ak:that.data.ak
    });
    let fail = function(data){
      console.log(data);
    };
    let success = function(data){
      // 返回数据内,已经包含经纬度
      console.log(data);
      // 使用wxMarkerData获取数据
      wxMarkerData = data.wxMarkerData;
      // 把所有数据放在初始化data内
      that.setData({
        markers:wxMarkerData,
        latitude: wxMarkerData[0].latitude,
        longitude: wxMarkerData[0].longitude,
        address:wxMarkerData[0].address,
        cityInfo:data.originalData.result.addressComponent
      });
    };

    // 发起regeocoding检索请求
    BMap.regeocoding({
      fail:fail,
      success:success
    });
  },
})

效果如下:
这里写图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值