微信小程序获取当前地理位置中文_微信小程序获取位置信息
微信小程序开发--获取位置信息
1 获取当前地理位置,首先要拿到用户的授权wx.openSetting
在这里插入图片描述
在用户首次进入某页面(需要地理位置授权)时候,在页面进行onLoad,onShow时候,进行调用wx.getLocation要求用户进行授权;以后每次进入该页面时,通过wx.getSetting接口,返回用户授权具体信息。
wx.getSetting接口具体API地址链接为点击链接
在这里插入图片描述
当该标志是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
}
}
})
2、微信小程序地图展示位置信息
在拿到用户授权以后,使用微信的API获取当前位置的经纬度微信获取位置API
onLoad: function () {
wx.getLocation({
success: res=> {
console.log(res);
this.setData({
location: res,
})
// console.log(app.globalData.location);
},
})
}
实现效果如下图:
在这里插入图片描述
微信小程序也支持在地图上选点,获取定位信息(wx.chooseLocation)和使用微信内置地图查看位置(wx.openLocation)
3、结合百度地图获取位置信息
微信小程序的接口,只能得到经纬度,但有时候我们需要得到具体的城市或者区域信息,这就需要借助百度地图了(==或者腾讯地图等,逻辑都是一样的==)。
第二步:在服务器配置中添加百度地图的服务器(https://api.baidu.com)
第四步:引入JS模块,将下载的js放到工程目录下
第五步:在所需的js文件内导入js
var bmap = require('../../libs/bmap-wx/bmap-wx.js');
第六步:编辑代码 ,此处我获得的是城市信息,可以log出信息,选择自己要显示的信息,用setData的方式放入数据中进行展示即可
var BMap = new bmap.BMapWX({
ak: that.data.ak,
});
console.log(BMap)
var fail = function(data) {
console.log(data);
};
var success = function(data) {
//返回数据内,已经包含经纬度
console.log(data);
//使用wxMarkerData获取数据
// = data.wxMarkerData;
wxMarkerData=data.originalData.result.addressComponent.city
//把所有数据放在初始化data内
console.log(wxMarkerData)
that.setData({
// markers: wxMarkerData,
// latitude: wxMarkerData[0].latitude,
// longitude: wxMarkerData[0].longitude,
address: wxMarkerData
});
}
// 发起regeocoding检索请求
BMap.regeocoding({
fail: fail,
success: success
});
},
微信小程序获取当前地理位置中文_微信小程序获取位置信息相关推荐
- 微信登录画面_微信登录界面的地球变了_微信登录界面首变真相
细心的小伙伴发现在启动微信的时候,那个经典的一个小人剪影面对着地球的画面开始发生了一些变化,似乎云层变得更为清晰细致了.微信登录界面6年来首变化,那么为何改变来的如此突然呢,下面小编就分享给大家! 手 ...
- 微信公众号怎么推送消息_微信公众号发送消息
A.模板消息发送 模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等.不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息. 备注 ...
- 小程序获取城市行政区号_微信小程序 省市区选择器实例详解(附源码下载)
微信小程序 省市区选择器: 最近学习微信小程序,为了检验自己的学习效果,自己做一个小示例,网上搜索下类似的实例,发现这个更好,大家看下. 一.区域间手势滑动切换,标题栏高亮随之切换 思路是:拿当前的c ...
- 微信小程序 等待几秒、_微信小程序—setTimeout定时器的坑
背景 实验室需要将项目的app搬到微信的小程序上,终于知道为什么程序员是手艺人了,只要有需求,就要想方设法去填充这种需求,去年是小程序的元年了可以说,去年冬天一个叫跳一跳的小程序游戏出现在我的微信中, ...
- 微信小程序 等待几秒、_微信小程序—setTimeOut定时器的问题及解决
背景 实验室需要将项目的app搬到微信的小程序上,终于知道为什么程序员是手艺人了,只要有需求,就要想方设法去填充这种需求,去年是小程序的元年了可以说,去年冬天一个叫跳一跳的小程序游戏出现在我的微信中, ...
- c++如何让程序异常以后继续执行_微信商城小程序开发首页广告如何布局?c
小程序的开发使得商家变现微信流量越来越便利,因此各类小程序制作数量不断增加,特别是不少商家选择制作商城类小程序.而在进行小程序制作的时候,是需要布局相应广告来进行流量转化的,那么微信商城小程序开发首页 ...
- 小程序文章怎么导出来_微信小程序点餐怎么申请,怎么建立微信点单小程序
微信点餐小程序/微信点餐商家版/微信点餐系统/微信点餐平台/点击上方"蓝字"关注我们我 怎么做微信小程序点餐 我们先要申请一个微信公众号,如果您有营业执照可以注册认证一个服务号 申 ...
- 小程序开发用什么编程语言_微信小程序开发教程是什么?费用多少?
微信小程序如今已经非常常见,渗透到了我们日常生活的方方面面,包括生活服务.出行.点餐.电商购物.企业展示--商家可以开发适合自己行业的小程序,以吸引线上用户,同时提高自身服务运营效率.不过这些不同种类 ...
- 微信小程序怎么实现陪诊服务_陪诊小程序怎么做
小编今天要分享的是一个服务行业的微信小程序,对于很多城市来说现在陪诊服务越来越多人需要了,不仅仅是因为子女不在老人身边,还有就是医院的服务配置设施越来越智能化,操作也基本上离不开智能机,如果有专业的陪 ...
- 微信小程序跳过第三方的_微信小程序怎么解除第三方授权?
平时我们用使用一个新的小程序时,通常都会弹出一些第三方授权的窗口,要授权成功才能正常使用小程序.而其中或多或少会涉及一些个人隐私信息,如果我们不需要再使用这些小程序,想要取消授权应该怎么做呢? 一.在 ...
最新文章
- 【控制】《鲁棒控制-线性矩阵不等式处理方法》-俞立老师-第1章-引言
- stm32f103 rtc 获取 日历 时钟
- Lab01:Xv6 and Unix utilities
- java web 测试类,构建一个容易单元测试的java–web系统-JSP教程,Java技巧及代码
- linux上的那些查找的命令
- svn: 无法连接主机“127.0.0.1”: 拒绝连接
- 190313每日一句
- 安装了jdk和jre无法打开jar文件(测试过多个jdk版本和win系统,绝对百试百灵)
- Qt绘制出思岚雷达扫描到的轮廓
- Selenium简单的163邮箱登录实例
- 中学计算机课小课题,信息技术小课题研究题目大全
- visual studio使用时光标变粗
- Android Couldn‘t find meta-data for provider with authority
- 24款神级插件,让你的 vscode更牛
- 安卓 app 本地升级下载后自动安装(小米手机安装包解析失败问题)
- 云服务器定时执行python脚本
- 运营入门——全栈市场人
- MFC的dll引用afxv_w32.h导致的error
- 3D游戏编程与设计作业6-Unity实现打飞碟游戏改进版(Hit UFO)
- 管理驾驶舱(Management Cockpit, MC)——监视KPI指标的“仪表盘”