广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >微信小程序如何获取城市定位
  • 662
分享到

微信小程序如何获取城市定位

2024-04-02 19:04:59 662人浏览 八月长安
摘要

小编给大家分享一下微信小程序如何获取城市定位,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!实现方法微信小程序中并没有提供这样的a

小编给大家分享一下微信小程序如何获取城市定位,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

实现方法

微信小程序中并没有提供这样的api,但是没关系,有wx.getLocation()得到的经纬度作为基础就够了,其他的,我们可以使用其他第三方地图服务可以来实现,比如腾讯地图或百度地图的API。

以腾讯地图为例,我们可以去腾讯地图开放平台注册一个账号,然后在它的管理后台创建一个密钥(key)。

然后在顶部菜单里面,可以找到WEBServiceAPI菜单:

微信小程序如何获取城市定位
腾讯地图WebServiceAPI

腾讯地图提供了很多WebServiceAPI,比如按照地址获取经纬度,根据经纬度找地址,我们将要用到的就是根据经纬度找地址,也称作“逆地址解析”:

微信小程序如何获取城市定位
逆地址解析

逆地址解析提供由坐标到坐标所在位置的文字描述的转换,调用形式就是一个Http URL形式的API,基本用法如下:

http://apis.map.qq.com/ws/geocoder/v1/?location=39.984154,116.307490&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77

这个URL的基本参数就是一个经纬度坐标地址。你可以将这个URL中的key换成你自己的key,直接在浏览器中查看,就能看到类似这样的结果,还可以根据传入不同的参数选项,得到更丰富的信息:

{
 "status": 0,
 "message": "query ok",
 "request_id": "6225548022856589453",
 "result": {
 "location": {
  "lat": 39.984154,
  "lng": 116.30749
 },
 "address": "北京市海淀区北四环西路66号彩和坊路",
 "fORMatted_addresses": {
  "recommend": "海淀区中关村彩和坊路中国技术交易大厦",
  "rough": "海淀区中关村彩和坊路中国技术交易大厦"
 },
 "address_component": {
  "nation": "中国",
  "province": "北京市",
  "city": "北京市",
  "district": "海淀区",
  "street": "彩和坊路",
  "street_number": "北四环西路66号"
 },
 "ad_info": {
  "adcode": "110108",
  "name": "中国,北京市,北京市,海淀区",
  "location": {
  "lat": 39.984154,
  "lng": 116.307487
  },
  "nation": "中国",
  "province": "北京市",
  "city": "北京市",
  "district": "海淀区"
 },
 "address_reference": {
  "business_area": {
  "title": "中关村",
  "location": {
   "lat": 39.984058,
   "lng": 116.307518
  },
  "_distance": 0,
  "_dir_desc": "内"
  },
  "famous_area": {
  "title": "中关村",
  "location": {
   "lat": 39.984058,
   "lng": 116.307518
  },
  "_distance": 0,
  "_dir_desc": "内"
  },
  "crossroad": {
  "title": "彩和坊路/北四环西路辅路(路口)",
  "location": {
   "lat": 39.985001,
   "lng": 116.308113
  },
  "_distance": 104.2,
  "_dir_desc": "西南"
  },
  "village": {
  "title": "稻香园北社区",
  "location": {
   "lat": 39.983269,
   "lng": 116.301979
  },
  "_distance": 480.1,
  "_dir_desc": "东"
  },
  "town": {
  "title": "海淀街道",
  "location": {
   "lat": 39.984154,
   "lng": 116.307487
  },
  "_distance": 0,
  "_dir_desc": "内"
  },
  "street_number": {
  "title": "北四环西路66号",
  "location": {
   "lat": 39.984119,
   "lng": 116.307503
  },
  "_distance": 6.9,
  "_dir_desc": ""
  },
  "street": {
  "title": "彩和坊路",
  "location": {
   "lat": 39.984154,
   "lng": 116.308098
  },
  "_distance": 49.1,
  "_dir_desc": "西"
  },
  "landmark_l1": {
  "title": "北京中关村创业大街",
  "location": {
   "lat": 39.984055,
   "lng": 116.306992
  },
  "_distance": 43.9,
  "_dir_desc": "东"
  },
  "landmark_l2": {
  "title": "中国技术交易大厦",
  "location": {
   "lat": 39.984154,
   "lng": 116.307487
  },
  "_distance": 0,
  "_dir_desc": "内"
  }
 }
 }
}

从这个API的返回结果中,我们可以看到它包含了我们想要的地址信息,如国家,城市,区等。

接下来,我们要在我们的代码中调用这个API。该API可以通过JSONP的方式调用,也可以在服务器端发起调用。我是在我自己的服务端中调用的,下面是我的代码,使用node.js Express实现的,仅供参考:

// 服务调用地址:http://localhost:3000/lbs/location

router.get('/lbs/location', function (req, res, next) {
 let lat = req.query.latitude
 let lng = req.query.longitude

 request.get({
 uri: 'https://apis.map.qq.com/ws/geocoder/v1/',
 json: true,
 qs: {
 location: `${lat},${lng}`,
 key: '你的腾讯地图密钥key'
 }
 }, (err, response, data) => {
 if (response.statusCode === 200) {
 responseUtil.jsonSuccess(res, data)
 } else {
 responseUtil.jsonError(res, 10001, '')
 }
 })
})

然后,可以看一下在小程序端的Page代码:

Page({

 data: {
 address: {}
 },

 onLoad: function () {
 //获取当前经纬度信息
 wx.getLocation({
 success: ({latitude, longitude}) => {

 //调用后台API,获取地址信息
 wx.request({
  url: 'http://localhost:3000/lbs/location',

  data: {
  latitude: latitude,
  longitude: longitude
  },

  success: (res) => {
  let info = res.data.data.result.ad_info
  this.setData({ address: info })
  },

  fail: () => {
  },

  complete: () => {
  }
 })
 }
 })
 }

})

以及一个简单的小程序界面,用于显示这些地址信息:

<view>
 <view>{{address.nation}}</view>
 <view>{{address.city}}</view>
 <view>{{address.district}}</view>
</view>

运行结果如下所示:

微信小程序如何获取城市定位

以上是“微信小程序如何获取城市定位”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网VUE频道!

--结束END--

本文标题: 微信小程序如何获取城市定位

本文链接: https://www.lsjlt.com/news/70423.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 微信小程序如何获取城市定位
    小编给大家分享一下微信小程序如何获取城市定位,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!实现方法微信小程序中并没有提供这样的A...
    99+
    2022-10-19
  • 微信小程序如何实现定位到当前城市功能
    这篇文章给大家分享的是有关微信小程序如何实现定位到当前城市功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。微信小程序 定位到当前城市首先需要申请百度地图Geocoding AP...
    99+
    2022-10-19
  • 小程序如何定位当前城市
    本篇内容主要讲解“小程序如何定位当前城市”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“小程序如何定位当前城市”吧!  首先需要申请百度地图Geocoding API  Geocoding API...
    99+
    2023-06-26
  • uni-app微信小程序结合腾讯地图获取定位导航以及城市选择器
    目录 第一步:登录小程序公众平台==>设置==>第三方设置  第二步:登录腾讯地图申请属于自己小程序的key  第三步:找到腾讯地图的插件​​​​​​​  第四步:添加插件与允许授权  第五步:使用 第一步:登录小程序公众平台==>...
    99+
    2023-09-10
    uni-app 小程序
  • 微信小程序获取位置信息
    目录 一、获取当前位置的经纬度 二、获取当前具体信息(国家,城市等信息) 1.注册腾讯地图账号 2.创建应用 3.添加key 4.下载sdk文件 5.获取位置信息 5.1剪切完成后,在你需要引用位置信息的模板中的js文件中进行配置 5.2在...
    99+
    2023-09-01
    微信小程序 小程序
  • 微信小程序如何实现城市列表
    小编给大家分享一下微信小程序如何实现城市列表,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!picker-view嵌入页面的滚动选择器注意:其中只可放置组件,其他节...
    99+
    2023-06-26
  • 微信小程序城市选择器如何实现
    这篇文章主要讲解了“微信小程序城市选择器如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序城市选择器如何实现”吧!城市选择器 region//index.wxml<pic...
    99+
    2023-06-26
  • 微信小程序API怎么获取位置
    今天小编给大家分享一下微信小程序API怎么获取位置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。wx.getLocation...
    99+
    2023-06-26
  • 【小程序】微信小程序如何获取微信公众号openid?
    一图总览 大家可以先看看下面的流程图,来了解笔者想实现的功能,简单来说就是两个不同主体间的小程序与公众号该如何产生关联。 注:为什么这里要强调不同主体呢,因为同主体的小程序与公众号是可以通过unionId来进行关联绑定。 ...
    99+
    2023-08-19
    微信小程序 小程序 微信
  • 微信小程序获取用户位置的方法
    微信小程序获取用户位置的方法 :1、 wx.getLocation(多与wx.openLocation一起用)。2、 wx.chooseLocation。3、wx.openLocation。 wx.getLocation(多与wx.open...
    99+
    2022-10-20
  • 微信小程序如何获取节点
    小编给大家分享一下微信小程序如何获取节点,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!wx.createSelectorQuery()基础库 1.4.0 开始支持...
    99+
    2023-06-26
  • 微信小程序开发中如何实现城市选择器
    这篇文章将为大家详细讲解有关微信小程序开发中如何实现城市选择器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。移动开发中城市选择器必不可少.gif: 这里只上部分js代码:...
    99+
    2022-10-19
  • 微信小程序如何获取微信运动步数
    这篇“微信小程序如何获取微信运动步数”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“微信小程序如何获取微信运动步数”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让...
    99+
    2023-06-26
  • 获取微信小程序源码
    一、使用adb连接手机获取小程序源码 1、手机root环境下 开启调试模式,手机通过USB数据线连接电脑 查看设备 adb.exe devices 连接设备 adb.exe connect 10.10.10.1 //ip为手机IP ...
    99+
    2023-09-24
    微信小程序 小程序 Powered by 金山文档
  • 微信小程序获取头像
    微信小程序获取头像的问题 微信小程序获取用户权限被收回(需要使用头像昵称填写) 当小程序需要让用户完善个人资料时,可以通过微信提供的头像昵称填写能力快速完善。 根据相关法律法规,为确保信息安全,由用户上传的图片、昵称等信息微信侧将进行...
    99+
    2023-09-29
    微信小程序 小程序 微信
  • 微信小程序如何获取用户信息
    自我介绍 我是IT果果日记,微信公众号请搜索 IT果果日记 一个普通的技术宅,定期分享技术文章,欢迎点赞、关注和转发,请多关照。 微信小程序用户基本信息有哪些? 除了基本信息,微信还会提供openId和union...
    99+
    2023-09-05
    微信小程序 小程序 微信 Powered by 金山文档
  • 微信小程序无法获取地理位置如何解决
    微信小程序无法获取地理位置的解决方法:1.打开微信,切换发现选项;2.进入“小程序”选项;3.选择小程序;4.点击“...”符号;5.选择“关于小程序”选项;6.点击“...”符号,点击“设置”选项;7.开启“使用我的地理位置”选项;具体步...
    99+
    2022-10-04
  • 微信小程序·获取小程序版本号
     小程序基础库版本 2.10.2 中提供了获取线上小程序版本号的功能,代码如下:  在app.js中 const miniProgram = wx.getAccountInfoSync(); this.version = ...
    99+
    2023-09-06
    微信小程序 小程序 前端
  • 微信小程序商城如何开
    今天小编给大家分享一下微信小程序商城如何开的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。  1.微信小程序商城怎么开  1....
    99+
    2023-06-26
  • 微信小程序如何获取输入框
    这篇文章主要介绍了微信小程序如何获取输入框的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序如何获取输入框文章都会有所收获,下面我们一起来看看吧。input输入框。属性名类型默认值说明最低版本valueS...
    99+
    2023-06-26
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作