微信小程序学习之路——API位置
2019-04-04 19:36
645 查看
位置
获取位置
在国际上,坐标体系有多套标准,小程序支持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 | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码如下:
[code]wx.getLocation({ type:'wgs84', success: function(res) { console.log(res); }, })
选择位置
wx.chooseLocation(Object)
用于打开地图选择位置,用户选择后返回选中信息,Object参数属性如下:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码如下:
[code]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 | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码如下:
[code]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 |
示例代码如下:
[code]<map id="myMap" show-location/> <button data-type='getCenterLocation' bindtap='action'>获取位置</button> <button data-type="location" bindtap="action">移动位置</button>
[code]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(); } } });
相关文章推荐
- 微信小程序学习之路——API界面(一)
- 微信小程序学习之路——API分享
- 微信小程序学习之路——API获取二维码
- 微信小程序学习之路——API界面(二)
- 微信小程序学习之路——API用户信息
- 微信小程序学习之路——API微信支付
- 微信小程序学习之路——API模板消息
- 微信小程序学习之路——API设备
- 微信小程序学习之路——API客服消息
- 微信小程序学习之路 扫一扫
- 微信小程序学习之路(一)
- 微信小程序学习之路04-简易的计算器
- 微信小程序学习之路《六》 生命周期
- 微信小程序位置API
- 【微信小程序学习之路】----使用globalData函数设置全局变量
- 微信小程序学习笔记之获取位置信息操作图文详解
- 微信小程序学习之路《十》 WXSS
- 微信小程序学习笔记(9)--------API
- 微信小程序学习用demo:仿猫眼电影;使用猫眼api,下拉加载
- 微信小程序8 位置与设备api