• 位置信息API


    一、获取当前位置: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) {
            //......
          }
        })
      }
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

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

      "permission":{
        "scope.userLocation": {
          "desc": "点击确定按钮获取地理位置信息"
        }
      }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    二、选择位置: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) {
            //......
          }
        })
      }
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    三、打开位置: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 () {}
            })
          }
        })
      }
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    四、监听位置事件

    ————
    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>
    
    • 1
    • 2
    • 3
    //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();
      }
    });
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

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

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

    Page({
      onLoad:function () {
        wx.chooseAddress({
          success:function (res) {
            // ...
          }
        })
      },
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    《上面success返回参数说明》

    字段含义
    userName收货人姓名
    postalCode邮编
    proviceName
    cityName城市
    countryName国家
    streetName街道
    detailnfo详细地址
    telNumber收货人手机号
    errMsg错误信息
    detailnfo新选择器详细收货地址信息
  • 相关阅读:
    Final IK⭐二、脚贴合平面 GrounderFBBIK 介绍
    LabVIEW基础
    【毕业设计源码】基于小程序的中学校园管理系统
    基于python+django+php 仓库进销存管理系统
    【C++】运算符重载 ② ( 类内部定义云算符重载 - 成员函数 | 类外部定义运算符重载 - 全局函数 | 可重载的运算符 )
    集线器、交换机、路由器是如何转发包的
    [附源码]计算机毕业设计JAVA剧本杀门店管理系统-
    多线程&并发篇---第十二篇
    全链路自动化测试
    ORA-07445: exception encountered: core dump [kdxlin()+4088]---惜分飞
  • 原文地址:https://blog.csdn.net/ZMN0057/article/details/133978072