当前位置:   article > 正文

微信小程序:获取地理位置_开发者获取你选择的位置信息,用于

开发者获取你选择的位置信息,用于

一、wx.getLocation(OBJECT)

获取当前的地理位置、速度。当用户离开小程序后,此接口无法调用。开启高精度定位,接口耗时会增加,可指定highAccuracyExpireTime作为超时时间。

属性类型默认值必填说明
typestringwgs84wgs84 返回 gps 坐标,gcj02 返回可用于wx.openLocation的坐标
altitudestringfalse传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度
isHighAccuracybooleanfalse开启高精度定位
highAccuracyExpireTimenumber高精度定位超时时间(ms),指定时间内返回最高精度,该值3000ms以上高精度定位才有效果
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

示例代码:

wx.getLocation({
	type: "wgs84",
	success (res) {
		console.log(res)
	}
})
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6


等等,好像不是我想要的效果;
这是因为开发者需要获取用户地理位置,所以呢就要告诉用户我们拿地理位置做什么,就是一个用途说明。
那我们按照要求,在app.json里声明permission字段。

"permission": {
    "scope.userLocation": {
        "desc": "你的位置信息将用于小程序位置接口的效果展示"
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5


这样就ok了,点击确定就可以拿到我们想要的数据了:

参数说明:

  • latitude:纬度,范围为 -90~90,负数表示南纬
  • longitude:经度,范围为 -180~180,负数表示西经
  • speed:速度,单位m/s accuracy:位置的精确度 altitude:高度,单位m
  • verticalAccuracy:垂直精度,单位m(Android无法获取,返回 0)
  • horizontalAccuracy:水平精度,单位m

二、wx.chooseLocation(Object object)

打开地图选择位置。

属性类型必填说明
latitudenumber目标地纬度
longitudenumber目标地经度
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

这里我们要先使用wx.getLocation获取到经度、纬度,然后给wx.chooseLocation使用就可以了,下面看代码:

wx.getLocation({
    type: "wgs84",
    success(res) {
        wx.chooseLocation({
            latitude: res.latitude,
            longitude: res.longitude,
            success: function(data){
				console.log(data)
			}
        })
    }
})
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12


当我们选中某一个地址,点击确定时,就会返回当前地址的信息:

参数说明:

  • name:位置名称
  • address:详细地址
  • latitude:纬度,浮点数,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系
  • longitude:经度,浮点数,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系

三、wx.openLocation(Object object)

使用微信内置地图查看位置

属性类型必填说明
latitudenumber纬度,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系
longitudenumber经度,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系
scalenumber缩放比例,范围5~18
namestring位置名
addressstring地址的详细说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
wx.openLocation({
    latitude: 30.64242,
    longitude: 104.04311,
    name: "武侯区人民政府(武侯祠大街南)",
    address: "四川省成都市武侯区武侯祠大街264号"
})
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6


另外,当我们点击右下角绿色按钮(到这去)时,它会自动调用本地地图,可以直接导航,相当方便。

合理利用可以有很好的效果,比如我们把公司地址放在这里,客户就可以很方便的找到公司位置。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号