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


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 CheckBox全选方法代码附js checkbox全选反选代码
Jun 09 Javascript
使用js写的一个简易的投票
Nov 27 Javascript
js简单的表格添加行和删除行操作示例
Mar 31 Javascript
实现无刷新联动例子汇总
May 20 Javascript
JavaScript学习笔记整理之引用类型
Jan 22 Javascript
jQuery日历插件datepicker用法详解
Mar 03 Javascript
JavaScript手机振动API
Jun 11 Javascript
全面解析Javascript无限添加QQ好友原理
Jun 15 Javascript
js中数组插入、删除元素操作的方法
Feb 15 Javascript
微信小程序封装http访问网络库实例代码
May 24 Javascript
Vue项目利用axios请求接口下载excel
Nov 17 Vue.js
Vue Element UI自定义描述列表组件
May 18 Vue.js
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
source.php查看源文件
2006/12/09 PHP
PHP编程中的常见漏洞和代码实例
2014/08/06 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
Laravel框架Eloquent ORM删除数据操作示例
2019/12/03 PHP
JavaScript 新手24条实用建议[TUTS+]
2009/06/21 Javascript
jquery tools 系列 scrollable(2)
2009/09/06 Javascript
面向对象的Javascript之一(初识Javascript)
2012/01/20 Javascript
使用jquery实现以post打开新窗口
2014/03/19 Javascript
JS实现带缓冲效果打开、关闭、移动一个层的方法
2015/05/09 Javascript
jquery+php随机生成红包金额数量代码分享
2015/08/27 Javascript
JavaScript 弹出子窗体并返回结果到父窗体的实现代码
2016/05/28 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
2016/09/04 Javascript
AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
2016/11/02 Javascript
把json格式的字符串转换成javascript对象或数组的方法总结
2016/11/03 Javascript
JS多文件上传的实例代码
2017/01/11 Javascript
jQuery上传插件webupload使用方法
2017/08/01 jQuery
JavaScript阻止表单提交方法(附代码)
2017/08/15 Javascript
详解处理Vue单页面应用SEO的另一种思路
2018/11/09 Javascript
Vue源码中要const _toStr = Object.prototype.toString的原因分析
2018/12/09 Javascript
[05:40]DOTA2荣耀之路6:Wings最后进攻
2018/05/30 DOTA
让代码变得更易维护的7个Python库
2018/10/09 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
2019/08/27 Python
如何关掉pycharm中的python console(图解)
2019/10/31 Python
使用Python测试Ping主机IP和某端口是否开放的实例
2019/12/17 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
video.js支持m3u8格式直播的实现示例
2020/05/20 HTML / CSS
意大利奢侈品购物网站:Giglio
2018/01/05 全球购物
Javascript如何发送一个Ajax请求
2015/01/26 面试题
迎新晚会策划方案
2014/06/13 职场文书
社区党建工作汇报材料
2014/08/14 职场文书
小学红领巾广播稿(3篇)
2014/09/13 职场文书
学校2014重阳节活动策划方案
2014/09/16 职场文书
寒假安全保证书
2015/02/28 职场文书
《打电话》教学反思
2016/02/22 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书
Python下载商品数据并连接数据库且保存数据
2022/03/31 Python