关于微信小程序开发,有个定位的问题 想请教下大家,谢谢?

微信小程序开发,想获取用户定城市名,是获取到经纬度信息后,可以通过逆地址解析API将经纬度转换成为具体的地址

我有两个问题想请问下大家,
1.能不获取经纬度,直接拿到当前用户所在城市名吗?
2.如果要拿经纬度,是解析城市名,有什么免费的方法吗,因为腾讯那个现在要收费 而且比较贵

阅读 3k
6 个回答

1、微信如果没有提供API那就没办法了,看了下好像是没有城市信息的
2、高德貌似是免费的,不过有调用量限制

  1. 通过ip解析所在城市名
  2. 没有免费的,商用都贵
wx.getLocation({
  type: 'wgs84',
  success(res) {
    const latitude = res.latitude
    const longitude = res.longitude
    // 你可以把经纬度发送到逆地址解析服务来获取城市名
  }
})

即使给你用户的城市,很多微信用户的城市大概率是随便填写的。

问题1:
通过 IP 获取城市名:微信小程序提供了 wx.request 接口可以用来获取用户的 IP 地址,然后可以使用一些免费的 IP 地址查询服务来获取大致的城市名信息。但是,这种方法的精确度不如获取经纬度然后逆地址解析

问题2:
可以使用这个库:

https://juejin.cn/post/6999053588886454279
https://leafletjs.cn/

其他一些免费的地图服务,如高德地图、百度地图,它们也提供了类似的逆地址解析功能

腾讯小程序的开放服务收费其实也还行吧?300万次/天的那个我看是免费的。
包年10万次也就300块,地区定位频率应该没有那么高的,应该是足够使用了。

如果觉得贵的话,可以考虑用百度或者高德的逆地址解析服务我记得都有日免费额度的。但是如果你觉得腾讯300万次/天的都不够用的话,他们的免费额度就更加不够看了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题