微信小程序开发--获取位置信息

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

});

},

微信小程序获取当前地理位置中文_微信小程序获取位置信息相关推荐

  1. 微信登录画面_微信登录界面的地球变了_微信登录界面首变真相

    细心的小伙伴发现在启动微信的时候,那个经典的一个小人剪影面对着地球的画面开始发生了一些变化,似乎云层变得更为清晰细致了.微信登录界面6年来首变化,那么为何改变来的如此突然呢,下面小编就分享给大家! 手 ...

  2. 微信公众号怎么推送消息_微信公众号发送消息

    A.模板消息发送 模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等.不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息. 备注 ...

  3. 小程序获取城市行政区号_微信小程序 省市区选择器实例详解(附源码下载)

    微信小程序 省市区选择器: 最近学习微信小程序,为了检验自己的学习效果,自己做一个小示例,网上搜索下类似的实例,发现这个更好,大家看下. 一.区域间手势滑动切换,标题栏高亮随之切换 思路是:拿当前的c ...

  4. 微信小程序 等待几秒、_微信小程序—setTimeout定时器的坑

    背景 实验室需要将项目的app搬到微信的小程序上,终于知道为什么程序员是手艺人了,只要有需求,就要想方设法去填充这种需求,去年是小程序的元年了可以说,去年冬天一个叫跳一跳的小程序游戏出现在我的微信中, ...

  5. 微信小程序 等待几秒、_微信小程序—setTimeOut定时器的问题及解决

    背景 实验室需要将项目的app搬到微信的小程序上,终于知道为什么程序员是手艺人了,只要有需求,就要想方设法去填充这种需求,去年是小程序的元年了可以说,去年冬天一个叫跳一跳的小程序游戏出现在我的微信中, ...

  6. c++如何让程序异常以后继续执行_微信商城小程序开发首页广告如何布局?c

    小程序的开发使得商家变现微信流量越来越便利,因此各类小程序制作数量不断增加,特别是不少商家选择制作商城类小程序.而在进行小程序制作的时候,是需要布局相应广告来进行流量转化的,那么微信商城小程序开发首页 ...

  7. 小程序文章怎么导出来_微信小程序点餐怎么申请,怎么建立微信点单小程序

    微信点餐小程序/微信点餐商家版/微信点餐系统/微信点餐平台/点击上方"蓝字"关注我们我 怎么做微信小程序点餐 我们先要申请一个微信公众号,如果您有营业执照可以注册认证一个服务号 申 ...

  8. 小程序开发用什么编程语言_微信小程序开发教程是什么?费用多少?

    微信小程序如今已经非常常见,渗透到了我们日常生活的方方面面,包括生活服务.出行.点餐.电商购物.企业展示--商家可以开发适合自己行业的小程序,以吸引线上用户,同时提高自身服务运营效率.不过这些不同种类 ...

  9. 微信小程序怎么实现陪诊服务_陪诊小程序怎么做

    小编今天要分享的是一个服务行业的微信小程序,对于很多城市来说现在陪诊服务越来越多人需要了,不仅仅是因为子女不在老人身边,还有就是医院的服务配置设施越来越智能化,操作也基本上离不开智能机,如果有专业的陪 ...

  10. 微信小程序跳过第三方的_微信小程序怎么解除第三方授权?

    平时我们用使用一个新的小程序时,通常都会弹出一些第三方授权的窗口,要授权成功才能正常使用小程序.而其中或多或少会涉及一些个人隐私信息,如果我们不需要再使用这些小程序,想要取消授权应该怎么做呢? 一.在 ...

最新文章

  1. 【控制】《鲁棒控制-线性矩阵不等式处理方法》-俞立老师-第1章-引言
  2. stm32f103 rtc 获取 日历 时钟
  3. Lab01:Xv6 and Unix utilities
  4. java web 测试类,构建一个容易单元测试的java–web系统-JSP教程,Java技巧及代码
  5. linux上的那些查找的命令
  6. svn: 无法连接主机“127.0.0.1”: 拒绝连接
  7. 190313每日一句
  8. 安装了jdk和jre无法打开jar文件(测试过多个jdk版本和win系统,绝对百试百灵)
  9. Qt绘制出思岚雷达扫描到的轮廓
  10. Selenium简单的163邮箱登录实例
  11. 中学计算机课小课题,信息技术小课题研究题目大全
  12. visual studio使用时光标变粗
  13. Android Couldn‘t find meta-data for provider with authority
  14. 24款神级插件,让你的 vscode更牛
  15. 安卓 app 本地升级下载后自动安装(小米手机安装包解析失败问题)
  16. 云服务器定时执行python脚本
  17. 运营入门——全栈市场人
  18. MFC的dll引用afxv_w32.h导致的error
  19. 3D游戏编程与设计作业6-Unity实现打飞碟游戏改进版(Hit UFO)
  20. 管理驾驶舱(Management Cockpit, MC)——监视KPI指标的“仪表盘”

热门文章

  1. 怎样进行云迁移 企业才不会后悔!
  2. python中递归函数
  3. Python标准库学习笔记7:数据持久存储与交换
  4. 21.go tool pprof
  5. 14.卷2(进程间通信)---System V 共享内存区
  6. 4.网络层(2)---子网划分
  7. 134. PHP 工具
  8. html 可换行属性,html里title属性换行的方法
  9. java zip 压缩文件夹_java来实现zip压缩文件或者文件夹
  10. 微服务架构一直火,为什么服务化要搞懂?