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


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 相关文章推荐
JavaScript修改css样式style
Apr 15 Javascript
js 鼠标拖动对象 可让任何div实现拖动效果
Nov 09 Javascript
谈谈JavaScript中的函数与闭包
Apr 14 Javascript
判断js对象是否拥有某一个属性的js代码
Aug 16 Javascript
javascript面向对象快速入门实例
Jan 13 Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
Apr 16 Javascript
详解在Vue中如何使用axios跨域访问数据
Jul 07 Javascript
浅谈Vue数据绑定的原理
Jan 08 Javascript
详解使用create-react-app快速构建React开发环境
May 16 Javascript
JS与SQL方式随机生成高强度密码示例
Dec 29 Javascript
JavaScript中var的重要性实例分析
Jul 09 Javascript
js实现简单的点名器随机色实例代码
Sep 20 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的变量总结 新手推荐
2011/04/18 PHP
PHP中time(),date(),mktime()区别介绍
2013/09/28 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
2014/09/06 PHP
php实现在站点里面添加邮件发送的功能
2020/04/28 PHP
修改Laravel5.3中的路由文件与路径
2016/08/10 PHP
Laravel框架自定义公共函数的引入操作示例
2019/04/16 PHP
Mootools 1.2教程 Fx.Tween的使用
2009/09/15 Javascript
自定义一个jquery插件[鼠标悬浮时候 出现说明label]
2011/06/27 Javascript
js遍历td tr等html元素
2012/12/13 Javascript
javascript中不等于的代码是什么怎么写
2013/12/29 Javascript
js实现获取鼠标当前的位置
2016/12/14 Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
2016/12/31 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
网页中右键功能的实现方法之contextMenu的使用
2017/02/20 Javascript
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
2017/06/16 jQuery
boostrap模态框二次弹出清空原有内容的方法
2018/08/10 Javascript
Vue入门之数量加减运算操作示例
2018/12/11 Javascript
javascript实现的时间格式加8小时功能示例
2019/06/13 Javascript
JavaScript实现更换背景图片
2019/10/18 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
小程序自定义圆形进度条
2020/11/17 Javascript
js实现验证码干扰(动态)
2021/02/23 Javascript
Python Socket传输文件示例
2017/01/16 Python
python 将list转成字符串,中间用符号分隔的方法
2018/10/23 Python
pandas读取csv文件,分隔符参数sep的实例
2018/12/12 Python
python使用Plotly绘图工具绘制柱状图
2019/04/01 Python
Python实现Word表格转成Excel表格的示例代码
2020/04/16 Python
德国家具、照明、家居用品网上商店:Wayfair.de
2020/02/13 全球购物
JD Sports澳洲官网:英国领先的运动鞋和运动时尚零售商
2020/02/15 全球购物
Myprotein亚太地区:欧洲第一在线运动营养品牌
2020/12/20 全球购物
计算机应用专业学生的自我评价分享
2013/11/03 职场文书
大学系主任推荐信范文
2013/12/24 职场文书
气象学专业个人求职信
2014/03/15 职场文书
检讨书怎么写
2015/01/23 职场文书
使用vue-element-admin框架从后端动态获取菜单功能的实现
2021/04/29 Vue.js