站长之家字体想开网站怎样做
位置信息API
- 一、获取当前位置:wx.getLocation(object)
 - 二、选择位置:wx.chooseLocation(object)
 - 三、打开位置:wx.openLocation(object)
 - 四、监听位置事件
 - 五、地图组件控制API
 - 六、收货地址API:wx.chooseAddress(object)
 
一、获取当前位置:wx.getLocation(object)
《wx.getLocation(object)参数说明》
| 字段 | 是否必填 | 数据类型 | 含义 | 
|---|---|---|---|
| type | 否 | string | 返回GPS坐标,默认wgs84。gcj02返回可用于wx.openLocation的坐标。 | 
| altitude | 否 | boolean | 传入处会返回高精度的信息,但会降低接口返回的速度。 | 
| isHightAccuracy | 否 | boolean | 开启高精度定位 | 
| hightAccuracyExpireTime | 否 | number | 高精度定位超时时间(ms),指定时间返回最高精度,该值在3000ms以上,高精度定位才有效果 | 
| success | 是 | function | 调用成功的回调函数 | 
| fail | 否 | function | 调用失败的回调函数 | 
| complete | 否 | function | 调用结束的回调函数(成功、失败都会执行) | 
《上面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)参数说明》
| 字段 | 是否必填 | 数据类型 | 含义 | 
|---|---|---|---|
| latitude | 否 | number | 目标地纬度 | 
| longitude | 否 | number | 目标地经度 | 
| success | 否 | function | 调用成功的回调函数 | 
| fail | 否 | function | 调用失败的回调函数 | 
| complete | 否 | function | 调用结束的回调函数(成功、失败都会执行) | 
《上面success返回参数说明》
| 字段 | 含义 | 
|---|---|
| latitude | 纬度,浮点数。-90——90,正北纬,负南纬 | 
| longitude | 经度,浮点数。-180——180,正东经,负西经 | 
| name | 位置信息 | 
| address | 详细地址 | 
Page({onLoad:function () {wx.chooseLocation({success:function (res) {//......}})}
});
 
三、打开位置:wx.openLocation(object)
《wx.openLocation(object)参数说明》
| 字段 | 是否必填 | 数据类型 | 含义 | 
|---|---|---|---|
| latitude | 是 | number | 纬度,-90——90,使用gcj02国测局坐标系 | 
| longitude | 是 | number | 经度,-180——180, | 
| scale | 否 | number | 缩放比例,5-18,默认18 | 
| name | 否 | string | 位置信息 | 
| address | 否 | string | 详细地址 | 
| success | 否 | function | 调用成功的回调函数 | 
| fail | 否 | function | 调用失败的回调函数 | 
| complete | 否 | function | 调用结束的回调函数(成功、失败都会执行) | 
// 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对象提供了如下方法:
- MapContext.getCenterLocation():获取当前地图中心的经纬度,返回gcj02坐标系,可用wx.openLocation();
 - MapContext.moveToLocation(object object):将地图中心移至当前定位点,此时需要设置地图组件show-location为true;
 - MapContext.translateMarker(object object):平移marker,带动画;
 - MapContext.includePoints(object object):缩放实业,展示所有经纬度;
 - MapContext.getRegion():获取当前地图的视野范围;
 - MapContext.getRotate():获取当前地图的旋转角;
 - MapContext.getSkew():获取当前地图的倾斜角;
 - MapContext.getScale():获取当前地图的缩放级别;
 - 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 | 新选择器详细收货地址信息 | 
