微信小程序学习之路——API位置_宇直豪的博客-程序员宅基地

技术标签: 微信小程序  小程序  位置  AP  

位置

获取位置

在国际上,坐标体系有多套标准,小程序支持WGS84标准和GCJ02标准,WGS84是地球坐标,国际上通用的坐标系。设备一般包含的GPS芯片或者北斗芯片所获取的经纬度是WGS84地理做白哦西。GCJ02坐标系为火星坐标系,是由中国国家测绘局指定的地理信息系统的坐标系统,它是由WGS84坐标系加密后的坐标系,它是在小程序中,查看位置需要使用GCJ02标准坐标。

wx.getLocation(Object)

用于获取当前的地理位置、速度,需要用户授权定位功能,当用户离开小程序后,该接口无法调用,当用户点击“显示在聊天顶部”时,此接口才可继续调用,Object参数属性如下:

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

示例代码如下:

wx.getLocation({
  type:'wgs84',
  success: function(res) {
    console.log(res);
  },
})

选择位置

wx.chooseLocation(Object)

用于打开地图选择位置,用户选择后返回选中信息,Object参数属性如下:

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

示例代码如下:

wx.chooseLocation({
  success: function(res) {
    console.log(res.address);
  },
})

查看位置

wx.openLocation(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: function(res) {
    wx.open({
      //显示当前地址
      latitude:res.latitude,
      longitude:res.longitude
    })
  },
})

地图组件控制

wx.createMapContent(Object)

用于创建并返回map上下文mapContent对象,map-Context通过mapId跟一个<map/>组件绑定,通过它可以操作对应的<map/>组件,map-Context对象方法如下:

方法 参数 说明 最低版本
getCenterLocation OBJECT 获取当前地图中心的经纬度,返回的是 gcj02 坐标系,可以用于 wx.openLocation  
moveToLocation 将地图中心移动到当前定位点,需要配合map组件的show-location使用  
translateMarker OBJECT 平移marker,带动画 1.2.0
includePoints OBJECT 缩放视野展示所有经纬度 1.2.0
getRegion OBJECT 获取当前地图的视野范围 1.4.0
getScale OBJECT 获取当前地图的缩放级别 1.4.0

示例代码如下:

<map id="myMap" show-location/>
<button data-type='getCenterLocation' bindtap='action'>获取位置</button>
<button data-type="location" bindtap="action">移动位置</button>
Page({
  onReady:function(e){
    this.mapContext = wx.createMapContext('myMap');
  },
  action:function(e){
    var type = e.target.dataset.type,
    mapContext =this.mapContext;
    switch(type){
      //获取当前地图中心维度
      case 'getCenterLocation':
      mapContext.getCenterLocation({
        success:function(res){
          console.log(res.longitude+','+res.latitude);
        }
      });
      //定位到当前位置
      case 'location':
      mapContext.moveToLocation();
    }
  }
});

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/CSDN_XUWENHAO/article/details/89033580

智能推荐

kettle增加字段报错,工作中简单的kettle使用_weixin_39700548的博客-程序员宅基地

1.为kettle创建资源库在oracle数据库上建立资源库,双击spoon.bat进入kettle进入如下界面,点击”+”。选择Kettle database repository选项,点击确定。选择”新建”。分别输入连接的数据库的属性,Connection name:连接名称,自己命名Host Name:数据库地址Database Name:数据库名User Name和Password分别为数...

html百分比单位,关于CSS中视窗单位和百分比单位的使用_Unique先森的博客-程序员宅基地

这篇文章主要介绍了详解CSS中视窗单位和百分比单位的使用,是CSS入门学习中的基础知识,需要的朋友可以参考下视窗(Viewport)单位视窗(Viewport)单位是相对单位,意味着它们没有客观的尺寸。它们的大小是由视窗(Viewport)大小决定的。下面是四个与视窗(Viewport)有关的单位。我将集中讨论前两个单位,因为它们更可能被使用。在很多情况下,视口单位(vh和vw)和百分比单位在它们...

(直接型、转置型、脉动型、线性相位、MAC型、DA fir)fir设计方案_宇哥啊的博客-程序员宅基地

FIR(Finite Impulse Response)Filter:有限冲激响应滤波器,又称为非递归线性滤波器,与IIR对应。FIR滤波器,其脉冲响应由有限个采样值构成。长度(抽头数)为N、阶数为N−1的FIR系统的差分方程:直接型fir设计优点可以具备线性相位特性:所有频率的相位延迟一样易于设计并行算法1.转置型fir设计:先乘后加2. 脉动型fir设计3. 优化(线性相位):系数首尾对称,可以减少乘法器数量具体解释看转置型FIR滤波器的fpga实现串行算法单乘

E/ActivityManager(1401): Reason: Input dispatching timed out (Waiting because no window has focus b_伟哥就来了的博客-程序员宅基地

怎么解决: E/ActivityManager(1401): Reason: Input dispatching timed out (Waiting because no window has focus but there is a focused application that may eventually add a window错误 when it finishes sta

numpy(莫烦Python)学习笔记_猫十一.的博客-程序员宅基地_numpy莫烦

numpy属性array = numpy.array([…]) #列表变矩阵array.ndium #矩阵维数array.shape #行数及列数array.size #矩阵所包含元素总和numpy创建arraynumpy.array([…],dtype=numpy.int) #定义为整数形式numpy.array([…],dtype=numpy.float) #定义为小数形式numpy.zeros((…,…)) #生成全部为0的矩阵,括号内为行数和列数numpy.ones((…,…)

如何自动安装linux系统,Linux全自动安装操作实例_weixin_39887183的博客-程序员宅基地

手动安装Linux系统费时费力,需要操作的步骤非常多,使用kickstart等工具就能实现Linux系统的全自动安装,下面小编就给大家介绍下Linux全自动安装操作实例,一起来学习下吧。原理:使用光盘安装linux系统过程:第一步,POST自检第二步,MBR引导,这里使用的GRUB是CDROM中isolinux/文件夹中的grub.conf。第三步,启动带有安装、升级、修复等选项的选择菜单,这是由...

随便推点

leetcode-day11:Intersection of Two Linked Lists(链表相交)_丹辰子DCZ的博客-程序员宅基地

160. Intersection of Two Linked Lists链表:链表相交Given the heads of two singly linked-lists headA and headB, return the node at which the two lists intersect. If the two linked lists have no intersection at all, return null.For example, the following two lin

CM宕机修复记录_Doumoa的博客-程序员宅基地

问题CM主机宕机后重装了系统导致CDH集群的cloudera-scm-server服务不可用但是存储CDH集群信息的MySQL数据库不在重装系统的主机(重点)因为解决问题时没记录过程,所以用三台虚拟机复刻了一下流程解决流程:重新配置重装了系统的CM主机环境包括安装JDK设置/etc/hosts安装并设置ntpd服务下载jdbc连接jar包到/usr/share/java中下载CM的rpm安装包cloudera-manager-agent-5.16.2-1.cm5162.p0.7.el

COMP SCI 2ME3, SFWR ENG_weixin_30920513的博客-程序员宅基地

Assignment 4COMP SCI 2ME3, SFWR ENG 2AA4March 29, 2019Assigned: March 22, 2019Spec and Code: April 9, 2019Last Revised: March 29, 2019All submissions are made through git, using your own repo located ...

centos7.2部署docker-17.06.0-ce的bug:Error response from daemon: oci runtime error: container_linux.go:2..._weixin_30501857的博客-程序员宅基地

现象:操作系统:centos 7.2 kernel3.10.0-327.el7.x86_64mesos:1.3.0docker:docker-17.06.0-ce在做mesos验证时,通过marathon下发容器,发现在多个mesos-slave节点上下发容器均以失败告终。marathon:mesos:分析:#在任意1个mesos节点上查看docker...

JAVA中一些术语的中英文对照_数据结构一些常见术语的中英文对照_叶翼的博客-程序员宅基地

数据 Data数据元素 Data element数据项 Data item数据结构 Data structure逻辑结构 Logical structure数据类型 Data type指针 Pointer顺序存储结构 Sequential storage structure链状存储结构 Linked storage struc...

使用 maven 报错 ArtifactTransferException Failure to transfer_JDWL20090304的博客-程序员宅基地

转载链接:ArtifactTransferException: Failure to transfer xml-apis:xml-apis:jar:1.0.b2 from http://192.168.137.217/nexus/content/groups/public/ was cached in the local repository, resolution will

推荐文章

热门文章

相关标签