(1)使用微信内置地图查看位置

wx.openLocation(Object object)

使用微信内置地图查看位置

参数

Object object

属性 类型 默认值 必填 说明
latitude number   纬度,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系
longitude number   经度,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系
scale number 18 缩放比例,范围5~18
name string   位置名
address string   地址的详细说明
success function   接口调用成功的回调函数
fail function   接口调用失败的回调函数
complete function   接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

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

(2)获取当前的地理位置、速度

当用户离开小程序后,此接口无法调用

wx.getLocation(Object object)

调用前需要 用户授权 scope.userLocation

获取当前的地理位置、速度。当用户离开小程序后,此接口无法调用。

参数

Object object

属性 类型 默认值 必填 说明 最低版本
type string wgs84 wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标  
altitude string false 传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度 1.6.0
success function   接口调用成功的回调函数  
fail function   接口调用失败的回调函数  
complete function   接口调用结束的回调函数(调用成功、失败都会执行)  

object.success 回调函数

参数
Object res
属性 类型 说明 最低版本
latitude number 纬度,范围为 -90~90,负数表示南纬  
longitude number 经度,范围为 -180~180,负数表示西经  
speed number 速度,单位 m/s  
accuracy number 位置的精确度  
altitude number 高度,单位 m 1.2.0
verticalAccuracy number 垂直精度,单位 m(Android 无法获取,返回 0) 1.2.0
horizontalAccuracy number 水平精度,单位 m 1.2.0

示例代码

wx.getLocation({
type: 'wgs84',
success (res) {
const latitude = res.latitude
const longitude = res.longitude
const speed = res.speed
const accuracy = res.accuracy
}
})

注意

  • 工具中定位模拟使用IP定位,可能会有一定误差。且工具目前仅支持 gcj02 坐标。
  • 使用第三方服务进行逆地址解析时,请确认第三方服务默认的坐标系,正确进行坐标转换。

人工按钮授权,获取位置信息代码:

<button bindtap="getLocation">获取</button>

  getLocation(){
var _this = this;
wx.openSetting({
success(res) {
if (res.authSetting['scope.userLocation']) {
wx.getLocation({
type: 'wgs84',//默认wgs84是全球定位系统获取的坐标,gcj02是国家测绘局给出的坐标
success: (res) => {
console.log('经度' + res.longitude + ',纬度' + res.latitude);
_this.setData({
latitude: res.latitude,
longitude: res.longitude
})
}
})
}
}
})
}

【拓展】箭头函数this指向

谈到this指向的时候箭头函数的this指向和普通函数不一样的,

=>this指向的是定义时this指向的对象,不会改变

function()声明函数时的this指向会指向使用时所在的对象

所以在上面案例中,如果用交通员函数,则不用在最值前重定义this为_this

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

wx.chooseLocation(Object object)

调用前需要 用户授权 scope.userLocation

打开地图选择位置。

参数

Object object

属性 类型 默认值 必填 说明
success function   接口调用成功的回调函数
fail function   接口调用失败的回调函数
complete function   接口调用结束的回调函数(调用成功、失败都会执行)

object.success 回调函数

参数
Object res
属性 类型 说明
name string 位置名称
address string 详细地址
latitude string 纬度,浮点数,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系
longitude string 经度,浮点数,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系

.

微信小程序API~地理位置location的更多相关文章

  1. 微信小程序获取地理位置授权

    微信小程序获取地理位置授权,首先需要在app.json中添加配置: "permission": { "scope.userLocation": { " ...

  2. 微信小程序api拦截器

    微信小程序api拦截器 完美兼容原生小程序项目 完美兼用小程序api的原本调用方式,无痛迁移 小程序api全Promise化 和axios一样的请求方式 小程序api自定义拦截调用参数和返回结果 强大 ...

  3. 微信小程序 API

    微信小程序 API https://developers.weixin.qq.com/miniprogram/dev/component/cover-view.html demo https://de ...

  4. 微信小程序获取地理位置

    小程序只支持获取当前位置的经纬度,并不能直接获取到地理名称,需要通过第三方来逆地址解析,这里我选择的是腾讯位置服务 在使用前需要去申请key,这里是地址:https://lbs.qq.com/cons ...

  5. 微信小程序-获取地理位置

    近期公司使用微信小程序开发一套应用,涉及到使用小程序的获取地理位置接口,但是在使用测试过程中发现获取的经纬度偏差较大, 之后进行了一番搜索,终于找到了, 原文地址:http://blog.csdn.n ...

  6. 微信小程序 API 基础

    其实还有一些组件,没有提,因为那些组件跟 API 的功能差不多,API 可能比他会更好一点: 具体可见官方文档 基础: 判断接口是否可用:wx.canIUse(a) a 代表:接口名字 返回值:布尔 ...

  7. 微信小程序 API 数据缓存

    微信小程序 数据缓存 (类似于 cookie) wx.setStorage() 将数据存储在本地缓存中制定的 key 中.会覆盖掉原来该 key 对应的内容,数据存储生命周期跟小程序本身一致,即除用户 ...

  8. 微信小程序API交互的自定义封装

    目录 1,起因 2,优化成果 3,实现思路 4,完整代码 1,起因 哪天,正在蚂蚁森林疯狂偷能量的我被boss叫过去,告知我司要做一个线上直播公开课功能的微信小程序,博主第一次写小程序,复习了下文档, ...

  9. 微信小程序API 文档快速参考索引

    内容那么多,这个页面到底做了什么? 第一:解决微信文档APi文档使用不便: 第二:解决了内容搜索与索引:—— 最好是写成全文索引文档,但是比较需要时间,而且更新是一件麻烦的事:所以以下是直接 连接官网 ...

随机推荐

  1. Spring boot使用Aspose.Slides操作ppt转PDF、转图片

    最近要将ppt转为PDF和图片,Apache poi ,jacob都试了下 Apache poi 转图片乱码,处理了,还会存在部分乱码 jacob对系统依赖比较大,必须是windows还得安装MS O ...

  2. Thread 设置 IsBackground true false 的 运行差别

    1.这是一个 后台线程,IsBackground=true,  主线程完成后,后台子线程也停止了,即使 子线程 还有没运行完,也要停止 class Program { static void Main ...

  3. windows下大数据开发环境搭建(2)——Hadoop环境搭建

    一.所需环境 ·Java 8 二.Hadoop下载 http://hadoop.apache.org/releases.html 三.配置环境变量 HADOOP_HOME: C:\hadoop- Pa ...

  4. Qt信号-槽原理剖析--(1)信号槽简介

    唯有创造才是快乐.只有创造的生灵才是生灵.--罗曼·罗兰 信号槽是观察者模式的一种实现,特性如下: A.一个信号就是一个能够被观察的事件,或者至少是事件已经发生的一种通知: B.一个槽就是一个观察者, ...

  5. Java开发笔记(一百一十八)AWT按钮

    前面介绍了如何通过AWT显示程序的窗口界面,那么要怎样在该窗口上面添加丰富多样的控件呢?注意Frame类是个窗口工具,它由窗楣(标题栏)与窗体(窗口主界面)两部分组成,故而Frame类只对整个窗口统筹 ...

  6. gitlab-runner 安装使用

    gitlab-runner 安装使用 gitlab-runner 是一个开源的与 gitlab CI 配合使用的项目,用于运行任务,并将结果返回 gitlab 本文通过docker in docker ...

  7. Crontab详细用法-定时任务详解

    crontab是linux系统或unix系统中常用的定时命令,使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux/unix命令.例如系统管理员安排一个备份任务使其每天都运行 ...

  8. 前端开发 vue,angular,react框架对比2

    在过去一年里,前端开发发展迅速,前端工程师的薪资亦是水涨船高.2019 更是热度不减,而作为近年来尤为热门的前端框架,Vue.js 自是积累了大量关注.那么,Vue.js 是适合你的框架吗?     ...

  9. 原子性atomic/nonatomic

    原子性:并发编程中确保其操作具备整体性,系统其它部分无法观察到中间步骤,只能看到操作前后的结果. 决定编译器生成的getter和setter是否原子(natomic)操作.   i 因此,atomic ...

  10. 在编译内核的最后阶段出现sdhci_esdhc_imx_pdata未定义的错误

    遇到下面这种错误 在网上查找资料后,发现一篇好文,提出了良好的找错误的策略: (1)利用grep命令查看该变量在何处使用: (2)查看相应的头文件是否在Kconfig中被定义且在make menuco ...