这篇文章主要介绍了微信小程序获取当前位置和城市名的思路,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

目录

  • 一、授权并获取经纬度
  • 腾讯地图API
    • **简介**
    • Hello world!

一、授权并获取经纬度

1, 获取当前地理位置,首先要拿到用户的授权wx.openSetting;
2,微信的getLocation接口,获取当前用户的地理位置(微信返回的是经纬度,速度等参数);
3,微信没有将经纬度直接转换为地理位置,借用腾讯位置服务中关于微信小程序的地理转换JS SDK 的API(返回信息中包括国家,省,市,区,经纬度等地理位置)
步骤描述清楚以后,下面就开始按步骤操作了;(本文仅仅讲述如何获取用户地理位置的授权)

图示为获取用户地理位置授权弹窗

在用户首次进入某页面(需要地理位置授权)时候,在页面进行onLoad,onShow时候,进行调用wx.getLocation要求用户进行授权;以后每次进入该页面时,通过wx.getSetting接口,返回用户授权具体信息。

wx.getSetting接口具体API地址链接为点击打开链接

上图中scope.userLocation就是地理授权的标志;

当该标志是underfind,表示用户初次进入该页面,当该标志是false,表示用户初次进入该页面拒绝了地理授权,应进行重新要求获取授权。

wx.getSetting({success: (res) => {console.log(JSON.stringify(res))// res.authSetting['scope.userLocation'] == undefined  表示 初始化进入该页面// res.authSetting['scope.userLocation'] == false  表示 非初始化进入该页面,且未授权// res.authSetting['scope.userLocation'] == true  表示 地理位置授权if (res.authSetting['scope.userLocation'] != undefined && res.authSetting['scope.userLocation'] != true) {wx.showModal({title: '请求授权当前位置',content: '需要获取您的地理位置,请确认授权',success: function (res) {if (res.cancel) {wx.showToast({title: '拒绝授权',icon: 'none',duration: 1000})} else if (res.confirm) {wx.openSetting({success: function (dataAu) {if (dataAu.authSetting["scope.userLocation"] == true) {wx.showToast({title: '授权成功',icon: 'success',duration: 1000})//再次授权,调用wx.getLocation的API} else {wx.showToast({title: '授权失败',icon: 'none',duration: 1000})}}})}}})} else if (res.authSetting['scope.userLocation'] == undefined) {//调用wx.getLocation的API}else {//调用wx.getLocation的API}}})

在拿到用户授权以后,使用微信的API获取当前位置的经纬度链接: 微信获取位置API

腾讯地图API

简介

腾讯位置服务为微信小程序提供了基础的标点能力、线和圆的绘制接口等地图组件和位置展示、地图选点等地图API位置服务能力支持,使得开发者可以自由地实现自己的微信小程序产品。 在此基础上,腾讯位置服务微信小程序JavaScript SDK是专为小程序开发者提供的LBS数据服务工具包,可以在小程序中调用腾讯位置服务的POI检索、关键词输入提示、地址解析、逆地址解析、行政区划和距离计算等数据服务,让您的小程序更强大

Hello world!

1、申请开发者密钥(key): 申请密钥

2、开通webserviceAPI服务:控制台 ->应用管理 -> 我的应用->添加key-> 勾选WebServiceAPI -> 保存

3、(小程序SDK需要用到webserviceAPI的部分服务,所以使用该功能的KEY需要具备相应的权限)

4、下载微信小程序JavaScriptSDK,微信小程序JavaScriptSDK v1.1 JavaScriptSDK v1.2
5、安全域名设置,在小程序管理后台 -> 开发 -> 开发管理 -> 开发设置 -> “服务器域名” 中设置request合法域名,添加https://apis.map.qq.com

小程序示例

// 引入SDK核心类,js文件根据自己业务,位置可自行放置
var QQMapWX = require('../../libs/qqmap-wx-jssdk.js');
var qqmapsdk;
Page({onLoad: function () {// 实例化API核心类qqmapsdk = new QQMapWX({key: '申请的key'});},onShow: function () {// 调用接口qqmapsdk.search({keyword: '酒店',success: function (res) {console.log(res);},fail: function (res) {console.log(res);},complete: function (res) {console.log(res);}});}
})

获取当前位置

wx.getLocation({isHighAccuracy: true,success(res) {let {latitude,longitude} = res// 调用腾讯地图api获取当前位置qqmapsdk.reverseGeocoder({location: {latitude: latitude,longitude: longitude},success: function (res) {console.log(res.result)},fail: function (res) {console.log(res);},complete: function (res) {console.log(res);}});}})

使用限制
为了保证我们的服务稳定,我们对每个key的每个服务接口的调用量做了如下限制:

日调用量:1万次 / Key
并发数:5次 / key / 秒 。
超过日调用量和并发数的开发者,可通过以下途径解决:
1.对于多频次的相同请求,可通过缓存结果,并定时访问更新的方式,减少对在线服务调用的依赖;
2.企业开发者的配额高于个人开发者,申请企业认证后,需要在 控制台->配额申请 中免费申请你需要的配额。
我们将对您的申请进行评估并进行审批(3个工作日内),审批通过后将会获得您申请的配额。
3.对于切实需要大配额来满足应用需求的,请在控制台->配额管理中提交购买配额申请,我们的商务会与您取得联系。

微信小程序获取当前位置和城市名相关推荐

  1. 微信小程序-获取用户位置(经纬度+所在城市)

    微信小程序-获取用户位置(经纬度+所在城市) 文章目录 微信小程序-获取用户位置(经纬度+所在城市) 一.目标 二.实现思路 三.实现步骤 3.1 用到的接口函数 3.2 具体步骤 3.2.1 创建界 ...

  2. 微信小程序获取当前位置及地图选点功能

    标题小程序获取当前位置----逆地址解析----地图选点 实现功能:小程序首页定位当前城市类似于 某宝: 某团: 获取当前位置: 在小程序首页创建getLocation函数并在onLoad调用 首先需 ...

  3. [微信小程序]获取用户当前的城市

     有问题可以扫码加我微信,有偿解决问题.承接小程序开发. 微信小程序开发交流qq群   173683895  . 526474645 : 正文: // 获取用户当前位置的名称和城市 util.jsfu ...

  4. 微信小程序获取用户位置信息并显示到地图上

    1.配置地理位置用途说明 在app.json中的大括号内输入 "permission": {"scope.userLocation": {"desc& ...

  5. 微信小程序腾讯位置服务城市选择器

    腾讯城市选择器插件微信小程序插件 | 腾讯位置服务 先看文档,下面为操作步骤 1.登录 微信公众平台 设置 - 第三方设置 - 插件管理 - 添加插件 - 搜索腾讯位置服务城市选择器 - 添加 2.注 ...

  6. 微信小程序获取当前位置的省、市、区等信息

    出了趟差,回来的机票路过南京禄口机场转机,结果遇到疫情,被隔离了.刚好趁这个机会把最近搞的一个小项目记录一下,用到微信小程序需要获取当前用户位置的省市区等信息,虽然只有几行代码,但当时查阅了很多大佬的 ...

  7. uniapp微信小程序获取当前位置信息、经纬度转换、导航地图实现

    1.调用接口,官网文档是这样写的 uni.getLocation({type: 'wgs84',success: function (res) {console.log('当前位置的经度:' + re ...

  8. 微信小程序获取用户位置信息

    1.在 app.json 里面增加 permission 属性配置小程序配置 | 微信开放文档 "permission": {"scope.userLocation&qu ...

  9. 微信小程序获取当前位置并根据经纬度跳转地图导航

    方式一 <view><map id="map" longitude="{{longitude}}" latitude="{{lati ...

最新文章

  1. SD-WAN能带来什么好处?
  2. 国产自主研发编程语言火了,同行十二年,不知Python是木兰?
  3. 为数据访问代码编写测试–不测试框架
  4. echart vue 图表大小_vue里echarts自适应窗口大小改变
  5. Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7:1.3.21
  6. Pytorch Anaconda 安装CPU版本
  7. SVN服务的部署及使用
  8. python制作一个简单的udp聊天器
  9. C#泛型编程基础知识总结【转】
  10. vue.js devtools安装
  11. 【优化求解】基于matalb遗传算法求解岛屿物资补给优化问题【含Matlab源码 172期】
  12. 兄弟连php视频网址
  13. OpenCV(项目)人脸识别(图片识别、摄像头识别)
  14. VC++ Call Stack调试
  15. 取消全部呼叫转移代码_不想接电话,又不好意思挂断?输入一串代码,让你手机秒变空号!...
  16. UPC 备战省赛第六场 Bumped!
  17. 试验数据管理系统TDM与SDM
  18. 服务器文件防止被扒,防止别人扒自己的网页方法
  19. 损益科目不进行结转导致的对账问题
  20. C语言练习题:计算一元二次方程!!

热门文章

  1. UE4(虚幻4)基础:静态网格模型碰撞设置(三种方法)
  2. 海信电视可以安装鸿蒙系统吗,【2019】海信电视安装第三方应用通用教程
  3. Linux系统中安装Oracle 数据库操作
  4. Objective-C 编程语言官网文档(四)-协议
  5. 毕业论文的结语都是重复的内容如何降重?
  6. 各大电商平台API接口调用、拼多多API接口获得淘宝商品详情
  7. crm 公户变私户的问题 班级管理 课程管理 学习记录初始化
  8. Infopath技术
  9. Python 通过邮件自更新
  10. luogu2161 SHOI2009 会场预约