当前位置:   article > 正文

微信小程序地理位置权限申请及使用教程_微信小程序配置位置permission

微信小程序配置位置permission

准备工作

需要在微信开发者平台中注册一个小程序账号,微信开发者平台官网如下
微信公众平台

申请流程

登录微信开发者平台后,在左侧选项栏点击开发-开发管理

在开发管理中点击接口设置,在下面就可以进行地理位置权限申请了,其中wx.getFuzzyLocation接口是比较好申请的。

使用教程

编译器:Hbuilder
运行器:微信开发者工具

首先在manifest.json文件中配置小程序的位置信息,

  1. /* 小程序特有相关 */
  2. "mp-weixin" : {
  3. "appid" : "wxa8e6388009466d0c",
  4. "setting" : {
  5. "urlCheck" : false
  6. },
  7. "usingComponents" : true,
  8. "permission" : {
  9. "scope.userFuzzyLocation":{
  10. "desc":"位置信息效果展示"
  11. }
  12. },
  13. "requiredPrivateInfos" : [ "getFuzzyLocation" ]
  14. },

配置manifest.json后还需要配置page.json 

  1. "permission":{
  2. "scope.userLocation":{
  3. "desc":"获得用户当前位置"
  4. },
  5. "scope.userFuzzyLocation":{
  6. "desc":"获得用户当前位置"
  7. }
  8. },

最后就可以调用接口

  1. <template>
  2. <view><button @click="getLocation">获取位置</button></view>
  3. </template>
  4. <script>
  5. export default {
  6. data() {
  7. return {
  8. longitude:"",
  9. latitude:"",
  10. scale:8
  11. }
  12. },
  13. methods: {
  14. getLocation() {
  15. uni.authorize({
  16. scope: 'scope.userLocation',
  17. success: function (res) {
  18. uni.getFuzzyLocation({
  19. success: function(res) {
  20. this.longitude = res.longitude
  21. this.latitude = res.latitude
  22. console.log(res.longitude)
  23. console.log(res.latitude)
  24. }
  25. });
  26. }
  27. })
  28. }
  29. }
  30. }
  31. </script>
  32. <style>
  33. </style>

取到的坐标值转换成具体的方位,这里我们测试用到的是腾讯地图,这里我们需要先做一下小小的准备。

A、首先,你得有一个可以用的微信小程序appid,自行去小程序开发平台复制下,就不用写了哈~~~~

B、腾讯地图的使用key密钥:

 然然然后,下载skd的js文件到你的项目中,并且引入:

 

  1. //腾讯地图接口文件
  2. var QQMapWX = require('@/utils/qqmap-wx-jssdk.min.js');
  3. // 实例化API核心key是腾讯地图秘钥
  4. var qqmapsdk = new QQMapWX({
  5. key: 'ISEBZ-W5IWZ-MJNXT-Z62VZ-WNBZT-XCB7D' // 必填
  6. });

好了,现在已经有了一串你看不懂的密钥,直接复制下,使用逆地址解析的方法,  

 

  1. let qqmapsdk = new QQMapWX({
  2. key: 'Hxxxxx-xxxxxxxxxxxxxxxxxxxx-xxxxx6'
  3. });
  4. 在获取经纬度的成功回调里写入:
  5. //逆地址解析
  6. qqmapsdk.reverseGeocoder({
  7. location:{
  8. latitude: res.latitude,
  9. longitude: res.longitude
  10. },
  11. success(res){
  12. console.log("res",res);
  13. }
  14. })

 完整代码:

  1. <template>
  2. <view>
  3. <view><button @click="getLocation">获取位置</button></view>
  4. </view>
  5. </template>
  6. <script>
  7. const app = getApp();
  8. //腾讯地图接口文件
  9. var QQMapWX = require('@/utils/qqmap-wx-jssdk.min.js');
  10. // 实例化API核心key是腾讯地图秘钥
  11. var qqmapsdk = new QQMapWX({
  12. key: '' // 必填
  13. });
  14. export default {
  15. data() {
  16. return {
  17. longitude:"",
  18. latitude:"",
  19. scale:8,
  20. addressurl:'/pages/test/index',
  21. }
  22. },
  23. onShow(){
  24. this.getLocation();
  25. },
  26. methods: {
  27. getLocation() {
  28. uni.authorize({//授权
  29. scope: 'scope.userLocation',
  30. success(){
  31. uni.getFuzzyLocation({
  32. success: function(res) {
  33. this.longitude = res.longitude
  34. this.latitude = res.latitude
  35. console.log(res.longitude)
  36. console.log(res.latitude)
  37. qqmapsdk.reverseGeocoder({//腾讯地图接口
  38. location:{
  39. latitude: res.latitude,
  40. longitude: res.longitude
  41. },
  42. success(res){
  43. console.log("res",res);
  44. }
  45. })
  46. }
  47. });
  48. },
  49. fail(res){
  50. console.log(res);
  51. }
  52. })
  53. },
  54. }
  55. }
  56. </script>
  57. <style>
  58. </style>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/374302
推荐阅读
相关标签
  

闽ICP备14008679号