微信小程序开发获取地理位置教程

2018-07-04 11:29

摘要:微信小程序诞生之初,功能受限于小程序的理念,但在随后不断更新中,API接口很好的为小程序赋能。

微信小程序诞生之初,功能受限于小程序的理念,也就是小,微信小程序要体现轻量级的应用特点,但在随后不断更新中,API接口很好的为小程序赋能,使其可以在不影响本质的情况下实现完善功能。其中,被用作生活实用出行类的地图小程序正是通过API实现定位,开发这样一款能获取地理位置的小程序主要流程如下:


获取地理位置

由于小程序只提供了我们一个获取地理位置、速度的api,并没有获取的相关地位位置的信息等,我们利用百度地图的api来获取地位位置。官方提供的文档介绍

微信小程序开发获取地理位置教程


微信小程序开发获取地理位置教程

申请ak 

下载百度地图的api,PS:由于小程序项目文件大小限制为1M,建议使用压缩版的js文件!


引入JS模块

微信小程序开发获取地理位置教程

放在utils下 

在所需的js文件内导入js 

// 引用百度地图,注意:require传入一个相对路径 

var bmap = require(\'../../utils/bmap-wx/bmap-wx.js\');

5.编辑代码 

.js代码为:

var bmap = requir(\'../../utils/bmap-wx/bmap-wx.min.js\');

var wxMarkerData = [];  //定位成功回调对象  

Page({
  data: {
    ak: FHG7utZtdyXN2, //填写申请到的ak  
    markers: [],
    longitude: \'\',   //经度  
    latitude: \'\',    //纬度  
    address: \'\',     //地址  
    cityInfo: {}     //城市信息  
  },
  onLoad: function (options) {
    var that = this;
    /* 获取定位地理位置 */
    // 新建bmap对象   
    var BMap = new bmap.BMapWX({
      ak: that.data.ak
    });
    var fail = function (data) {
      console.log(data);
    };
    var 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
    });
  }
}) 

运行效果图:

/

这样就完成了在小程序上获取定位功能,不同的API接口可以实现不同的功能,微信小程序能被赋予的能力还有很多,能适应多种场景。


推荐阅读:微信小程序开发传递对象数组    微信小程序开发教程



参与讨论

发表评论

扫码添加专属客服即可随时咨询

还可领取小程序推广攻略

咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部