当前位置: 首页 > news >正文

位置信息API

位置信息API

  • 一、获取当前位置:wx.getLocation(object)
  • 二、选择位置:wx.chooseLocation(object)
  • 三、打开位置:wx.openLocation(object)
  • 四、监听位置事件
  • 五、地图组件控制API
  • 六、收货地址API:wx.chooseAddress(object)

一、获取当前位置:wx.getLocation(object)

《wx.getLocation(object)参数说明》

字段是否必填数据类型含义
typestring返回GPS坐标,默认wgs84。gcj02返回可用于wx.openLocation的坐标。
altitudeboolean传入处会返回高精度的信息,但会降低接口返回的速度。
isHightAccuracyboolean开启高精度定位
hightAccuracyExpireTimenumber高精度定位超时时间(ms),指定时间返回最高精度,该值在3000ms以上,高精度定位才有效果
successfunction调用成功的回调函数
failfunction调用失败的回调函数
completefunction调用结束的回调函数(成功、失败都会执行)

《上面success返回参数说明》

字段含义
latitude纬度,浮点数。-90——90,正北纬,负南纬
longitude经度,浮点数。-180——180,正东经,负西经
speed速度,浮点数。单位m/s
accuracy位置的精确度
verticalAccuracy垂直精度,单位m(安卓系统无法获取,返回0)
horizontalAccuracy水平精度,单位m
//index.js
Page({onLoad:function () {wx.getLocation({type:"wgs84",success:function (res) {//......}})}
});

使用wx.getLocation()获取位置信息时,需要在app.json文件中声明permission字段。

  "permission":{"scope.userLocation": {"desc": "点击确定按钮获取地理位置信息"}}

二、选择位置:wx.chooseLocation(object)

调用前需要用户授权scope.userLocation才能使用。
《wx.chooseLocation(object)参数说明》

字段是否必填数据类型含义
latitudenumber目标地纬度
longitudenumber目标地经度
successfunction调用成功的回调函数
failfunction调用失败的回调函数
completefunction调用结束的回调函数(成功、失败都会执行)

《上面success返回参数说明》

字段含义
latitude纬度,浮点数。-90——90,正北纬,负南纬
longitude经度,浮点数。-180——180,正东经,负西经
name位置信息
address详细地址
Page({onLoad:function () {wx.chooseLocation({success:function (res) {//......}})}
});

三、打开位置:wx.openLocation(object)

《wx.openLocation(object)参数说明》

字段是否必填数据类型含义
latitudenumber纬度,-90——90,使用gcj02国测局坐标系
longitudenumber经度,-180——180,
scalenumber缩放比例,5-18,默认18
namestring位置信息
addressstring详细地址
successfunction调用成功的回调函数
failfunction调用失败的回调函数
completefunction调用结束的回调函数(成功、失败都会执行)
// index.js
Page({onLoad:function () {wx.getLocation()({type:"gcj02",success:function (res) {var latitude = res.latitude;var longitude = res.longitude;wx.openSetting({latitude:latitude,longitude:longitude,success:function () {}})}})}
});

四、监听位置事件

————
wx.onLocationChange(function callback)用于实时监听位置变化事件
wx.startLocationUpdate(object object)用于开启小程序进入前台时,接收位置消息,调用前需要用户授权scope.userLocation
wx.startLocationUpdateBackground(object object)用于开启小程序,前后均接收位置信息,调用前需要用户授权scope.userLocationBackground
wx.stopLocationUpdate(object object)用于关闭监听实时位置变化,前后都停止接收消息

五、地图组件控制API

wx.createMapContext(mapId)地图控制组件API用来创建并返回MapContext对象。MapContext对象提供了如下方法:

  1. MapContext.getCenterLocation():获取当前地图中心的经纬度,返回gcj02坐标系,可用wx.openLocation();
  2. MapContext.moveToLocation(object object):将地图中心移至当前定位点,此时需要设置地图组件show-location为true;
  3. MapContext.translateMarker(object object):平移marker,带动画;
  4. MapContext.includePoints(object object):缩放实业,展示所有经纬度;
  5. MapContext.getRegion():获取当前地图的视野范围;
  6. MapContext.getRotate():获取当前地图的旋转角;
  7. MapContext.getSkew():获取当前地图的倾斜角;
  8. MapContext.getScale():获取当前地图的缩放级别;
  9. MapContext.setCenterOffset(object object):设置地图中心偏移,向后,乡下为增长。屏幕比例范围为0.25-0.75,默认偏移为[0.5,0.5]
<map id="myMap" show-location/>
<button type="primary" bind:tap="getCenterLocation">获取位置</button>
<button type="primary" bind:tap="moveToLocation">移动位置</button>
//map.js
Page({onReady:function (e) {this.mapCtx=wx.createMapContext('myMap', component)},getCenterLocation:function () {// 获取当前地图中心的经纬度this.mapCtx.getCenterLocation({success:function (res) {// ...}})},moveToLocation:function () {// 将地图中心移至当前定位点this.mapCtx.moveToLocation();}
});

六、收货地址API:wx.chooseAddress(object)

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

Page({onLoad:function () {wx.chooseAddress({success:function (res) {// ...}})},
});

《上面success返回参数说明》

字段含义
userName收货人姓名
postalCode邮编
proviceName
cityName城市
countryName国家
streetName街道
detailnfo详细地址
telNumber收货人手机号
errMsg错误信息
detailnfo新选择器详细收货地址信息
http://www.lryc.cn/news/207346.html

相关文章:

  • MySQL——九、SQL编程
  • threejs(4)-纹理材质高级操作
  • Redis | 数据结构(01)
  • 一文详解多模态大模型发展及高频因子计算加速GPU算力 | 英伟达显卡被限,华为如何力挽狂澜?
  • debian 10 安装apache2 zabbix
  • Qt之菜单栏、工具栏、状态栏介绍及工具栏QAction的动态增删显示实现方式
  • 十四天学会C++之第八天:文件操作
  • 基于(N-1)×(N-1)棋盘的解的情况推出N×N棋盘的解的情况的N皇后问题
  • Vue mixin混入
  • 基于 FFmpeg 的跨平台视频播放器简明教程(十):在 Android 运行 FFmpeg
  • 正点原子嵌入式linux驱动开发——Linux LCD驱动
  • 2-Java进阶知识总结-6-多线程
  • openwrt下游设备在校园网(DLUT-LingShui)中使用ipv6网络
  • 10个基于.Net开发的Windows开源软件项目
  • Java多线程秘籍,掌握这5种方法,让你的代码优化升级
  • npm install报错 缺少python
  • 达梦:开启sql日志记录
  • C语言开发,指针进阶,字符串查找,包含,拼接
  • PyCharm中文使用详解
  • 一键同步,无处不在的书签体验:探索多电脑Chrome书签同步插件
  • 在Go项目中二次封装Kafka客户端功能
  • CVE-2021-44228 Apache log4j 远程命令执行漏洞
  • 前端跨域相关
  • HTML笔记-狂神
  • python自动化测试工具selenium
  • 输入/输出应用程序接口和设备驱动程序接口
  • Python---Socket 网络通信
  • 使用 jdbc 技术升级水果库存系统(优化版本)
  • 网络协议--广播和多播
  • python爬虫入门(三)正则表达式