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


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 相关文章推荐
兼容IE与firefox火狐的回车事件(js与jquery)
Oct 20 Javascript
JS分页控件 可用于无刷新分页
Jul 23 Javascript
IE8下String的Trim()方法失效的解决方法
Nov 08 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
Dec 29 Javascript
jQuery自动添加表单项的方法
Jul 13 Javascript
JavaScript判断对象是否为数组
Dec 22 Javascript
jquery对象和DOM对象的任意相互转换
Feb 21 Javascript
JavaScript组合模式学习要点
Aug 26 Javascript
bootstrap基础知识学习笔记
Nov 02 Javascript
JavaScript中重名的函数与对象示例详析
Sep 28 Javascript
vue请求本地自己编写的json文件的方法
Apr 25 Javascript
vue3.0 上手体验
Sep 21 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遍历目录viewDir函数
2009/12/15 PHP
PHP中MVC模式的模板引擎开发经验分享
2011/03/23 PHP
php 深入理解strtotime函数的使用详解
2013/05/23 PHP
浅析memcache启动以及telnet命令详解
2013/06/28 PHP
VB中的RasEnumConnections函数返回632错误解决方法
2014/07/29 PHP
PHP实现搜索相似图片
2015/09/22 PHP
php微信开发之上传临时素材
2016/06/24 PHP
谈谈PHP连接Access数据库的注意事项
2016/08/12 PHP
PHP中实现中文字串截取无乱码的解决方法
2018/05/29 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
PHP连接MySQL数据库操作代码实例解析
2020/07/11 PHP
实现只能输入数字的input不用replace方法
2013/09/12 Javascript
浅析JavaScript中的typeof运算符
2013/11/30 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
JavaScript代码里的判断小结
2016/08/22 Javascript
jQuery基于BootStrap样式实现无限极地区联动
2016/08/26 Javascript
详解nodejs 文本操作模块-fs模块(四)
2016/12/22 NodeJs
js断点调试经验分享
2017/12/08 Javascript
vue--点击当前增加class,其他删除class的方法
2018/09/15 Javascript
使用Angular 6创建各种动画效果的方法
2018/10/10 Javascript
javascript导出csv文件(excel)的方法示例
2019/08/25 Javascript
vue 手机物理监听键+退出提示代码
2020/09/09 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
Python学习笔记之文件的读写操作实例分析
2019/08/07 Python
Python基础之函数基本用法与进阶详解
2020/01/02 Python
Django-rest-framework中过滤器的定制实例
2020/04/01 Python
Django获取model中的字段名和字段的verbose_name方式
2020/05/19 Python
Python调用jar包方法实现过程解析
2020/08/11 Python
python实现三种随机请求头方式
2021/01/05 Python
英国美发和美容产品商城:HQhair
2019/02/08 全球购物
js实现弹框效果
2021/03/24 Javascript
业务经理的岗位职责
2013/11/16 职场文书
8和9的加减法教学反思
2014/05/01 职场文书
怎样写离婚协议书
2014/09/10 职场文书
讲文明懂礼貌演讲稿
2014/09/11 职场文书
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server