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


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 相关文章推荐
父窗口获取弹出子窗口文本框的值
Jun 27 Javascript
JsEasy简介 JsEasy是什么?与下载
Mar 07 Javascript
JavaScript Prototype对象
Jan 07 Javascript
JavaScript 计算当天是本年本月的第几周
Mar 22 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件
Dec 21 Javascript
深入分析jquery解析json数据
Dec 09 Javascript
js数组的操作指南
Dec 28 Javascript
js实现数组转换成json
Jun 26 Javascript
JavaScript常用字符串与数组扩展函数小结
Apr 24 Javascript
jQuery实现select模糊查询(反射机制)
Jan 14 Javascript
vue项目打包上传github并制作预览链接(pages)
Apr 19 Javascript
layer ui插件显示tips时,修改字体颜色的实现方法
Sep 11 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实现的生成静态HTML速度快类库
2007/03/31 PHP
php中设置多级目录session的问题
2011/08/08 PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
2013/07/15 PHP
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
Jquery 数据选择插件Pickerbox使用介绍
2012/08/24 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
2013/07/10 Javascript
如何让DIV可编辑、可拖动示例代码
2013/09/18 Javascript
JavaScript 数组详解
2013/10/10 Javascript
jquery中交替点击事件的实现代码
2014/02/14 Javascript
使用不同的方法结合/合并两个JS数组
2014/09/18 Javascript
分享一则javascript 调试技巧
2015/01/02 Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
2015/03/27 Javascript
js动态创建及移除div的方法
2015/06/03 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
2017/03/06 Javascript
js 获取元素的具体样式信息getcss(实例讲解)
2017/07/05 Javascript
Vue组件通信的四种方式汇总
2018/02/08 Javascript
在Vue中获取组件声明时的name属性方法
2018/09/12 Javascript
Webpack设置环境变量的一些误区详解
2019/12/19 Javascript
解决antd的Form组件setFieldsValue的警告问题
2020/10/29 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
Python中请使用isinstance()判断变量类型
2014/08/25 Python
浅谈Python中用datetime包进行对时间的一些操作
2016/06/23 Python
Python三级菜单的实例
2017/09/13 Python
flask入门之表单的实现
2018/07/18 Python
Django模板Templates使用方法详解
2019/07/19 Python
Python建造者模式案例运行原理解析
2020/06/29 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
为数据库创建索引都需要注意些什么
2012/07/17 面试题
2014年公务员思想汇报范文:全心全意为人民服务
2014/03/06 职场文书
《郑和远航》教学反思
2014/04/16 职场文书
综合素质自我评价评语
2015/03/06 职场文书
电信营业员岗位职责
2015/04/14 职场文书
ES6 解构赋值的原理及运用
2021/05/25 Javascript
Python自动化测试PO模型封装过程详解
2021/06/22 Python
解决Jenkins集成SonarQube遇到的报错问题
2021/07/15 Java/Android