微信小程序之获取当前位置经纬度以及地图显示详解


Posted in Javascript onMay 09, 2017

最近刚开始接触微信小程序,在弄懂其结构以及相关接口之后,准备着手实现一个小程序,功能包括--获取用户当前位置的经纬度,在地图上查看位置,通过地图获取不同位置的经纬度。

微信小程序的主体部分包括:

微信小程序之获取当前位置经纬度以及地图显示详解

新增页面需要在app.json进行配置:

"pages":[
  "pages/index/index",
  "pages/location/location",
  "pages/logs/logs"
 ]

通过在视图层调用bindtap与逻辑层中的方法匹配--实现页面跳转:

视图层

<view class="location" bindtap="locationViewTap">
  <button>获取用户当前位置</button>
 </view>

逻辑层

locationViewTap: function(){
  wx.navigateTo({
   url: '../location/location'
  })
 }

通过在视图层调用bindtap与逻辑层中的方法匹配--实现方法调用:

视图层

<button bindtap="mapViewTap" style="margin:10px">查看地图</button>
  <button bindtap="chooseMapViewTap" style="margin:10px">选择位置</button>

逻辑层

mapViewTap:function(){
    wx.getLocation({
     type: 'gcj02', //返回可以用于wx.openLocation的经纬度
     success: function(res) {
      console.log(res)
      wx.openLocation({
       latitude: res.latitude,
       longitude: res.longitude,
       scale: 28
      })
    }
   })
 }

有关地图位置的三个接口:

(1) wx.getLocation(OBJECT) 获取当前的地理位置、速度

success返回参数:

latitude 纬度,浮点数,范围为-90~90,负数表示南纬
longitude 经度,浮点数,范围为-180~180,负数表示西经
speed 速度,浮点数,单位m/s
accuracy 位置的精确度
   

(2) wx.openLocation(OBJECT)  使用微信内置地图查看位置

OBJECT参数说明:

参数 类型 必填 说明
latitude Float 纬度,范围为-90~90,负数表示南纬
longitude Float 经度,范围为-180~180,负数表示西经
scale INT 缩放比例,范围5~18,默认为18
name String 位置名
address String 地址的详细说明
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

(3) wx.chooseLocation(OBJECT) 打开地图选择位置

success返回参数:

name 位置名称
address 详细地址
latitude 纬度,浮点数,范围为-90~90,负数表示南纬
longitude 经度,浮点数,范围为-180~180,负数表示西经

实现效果

 利用getLocation获取当前位置的经纬度坐标,openLocation打开微信内置地图查看

微信小程序之获取当前位置经纬度以及地图显示详解 

微信小程序之获取当前位置经纬度以及地图显示详解  

利用chooseLocation选取位置,并将位置信息的经纬度实时响应显示

微信小程序之获取当前位置经纬度以及地图显示详解 

微信小程序之获取当前位置经纬度以及地图显示详解

注意事项:

(1) 利用getLocation()获得的地图参数信息只有两个

  微信小程序之获取当前位置经纬度以及地图显示详解  

利用chooselocation返回的参数如下:

          微信小程序之获取当前位置经纬度以及地图显示详解

(2) this.setData修改json里面的值

逻辑层中的json数据可以通过WXML文件{{json}}显示出来:

微信小程序之获取当前位置经纬度以及地图显示详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQUERY THICKBOX弹出层插件
Aug 30 Javascript
jquery实现鼠标拖动图片效果示例代码
Jan 09 Javascript
一个非常全面的javascript URL解析函数和分段URL解析方法
Apr 12 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
Sep 26 Javascript
bootstrap选项卡使用方法解析
Jan 11 Javascript
微信小程序 获取二维码实例详解
Jun 23 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
Sep 05 Javascript
简述vue路由打开一个新的窗口的方法
Nov 29 Javascript
基于Vue实现平滑过渡的拖拽排序功能
Jun 12 Javascript
解决layui的input独占一行的问题
Sep 10 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
Aug 31 Javascript
vue中是怎样监听数组变化的
Oct 24 Javascript
JS中的数组转变成JSON格式字符串的方法
May 09 #Javascript
jQuery插件开发发送短信倒计时功能代码
May 09 #jQuery
JavaScrpt的面向对象全面解析
May 09 #Javascript
ES6正则表达式的一些新功能总结
May 09 #Javascript
Vuex和前端缓存的整合策略详解
May 09 #Javascript
基于JS实现限时抢购倒计时间表代码
May 09 #Javascript
js使用i18n实现页面国际化的方法
May 09 #Javascript
You might like
如何在PHP中使用Oracle数据库(6)
2006/10/09 PHP
php5 mysql分页实例代码
2008/04/10 PHP
php错误级别的设置方法
2013/06/17 PHP
浅谈PHP值mysql操作类
2016/06/29 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
yii 2.0中表单小部件的使用方法示例
2017/05/23 PHP
laravel5.4生成验证码的实例讲解
2017/08/05 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
datagrid框架的删除添加与修改
2013/04/08 Javascript
在jQuery中使用$而避免跟其它库产生冲突的方法
2015/08/13 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
2015/10/12 Javascript
VUE页面中加载外部HTML的示例代码
2017/09/20 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
2018/03/01 Javascript
webpack4.0 入门实践教程
2018/10/08 Javascript
Vue.js中该如何自己维护路由跳转记录
2019/05/19 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
Weex开发之地图篇的具体使用
2019/10/16 Javascript
Python 专题六 局部变量、全局变量global、导入模块变量
2017/03/20 Python
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
2019/01/04 Python
Django Channels 实现点对点实时聊天和消息推送功能
2019/07/17 Python
使用 Python 遍历目录树的方法
2020/02/29 Python
Python 实现自动完成A4标签排版打印功能
2020/04/09 Python
Python CSS选择器爬取京东网商品信息过程解析
2020/06/01 Python
关于html字符串正则判断和匹配的具体使用
2019/12/12 HTML / CSS
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
Chemist Warehouse中文网:澳洲连锁大药房
2021/02/05 全球购物
农业大学毕业生的个人自我评价
2013/10/11 职场文书
党员大会主持词
2014/04/02 职场文书
酒店人事主管岗位职责
2015/04/11 职场文书
2019垃圾分类宣传口号汇总
2019/08/16 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书
pytorch中的model=model.to(device)使用说明
2021/05/24 Python
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电
springboot用户数据修改的详细实现
2022/04/06 Java/Android
Smart 2 车辆代号 HC11 全新谍照曝光
2022/04/21 数码科技