当前位置:   article > 正文

uniapp 微信小程序中获取当前位置信息_uniapp微信小程序获取定位

uniapp微信小程序获取定位
  1. data() {
  2. return {
  3. qqmapsdk: null,
  4. }
  5. },
  6. onLoad(options) {
  7. // key 从腾讯地图申请
  8. this.qqmapsdk = new QQMapWX({
  9. key: "LZCBZ-UIN6V-H7BPD-U989779T7IA-3DFL6-KNBFH"
  10. })
  11. this.mapsdk()
  12. },
  13. methods:{
  14. mapsdk() {
  15. var _this = this
  16. uni.showLoading({
  17. title: "获取位置中"
  18. })
  19. this.qqmapsdk.reverseGeocoder({
  20. success(res) {
  21. if (res.status == 0) {
  22. _this.address = res.result.address + res.result.formatted_addresses.recommend
  23. }
  24. uni.hideLoading()
  25. },
  26. fail(err) {
  27. // console.log(err);
  28. _this.showLocationWarning(err.message)
  29. uni.hideLoading()
  30. },
  31. })
  32. },
  33. // 这个方法需要reverseGeocoder失败的回调传下来的err.message 来判断是否打开定位,是否授权
  34. showLocationWarning (msg) {
  35. if (msg) {
  36. if (msg.indexOf('频繁调用') >= 0) {
  37. uni.showToast({
  38. title: '请勿频繁定位',
  39. icon: 'none'
  40. })
  41. return;
  42. }
  43. if (msg.indexOf('ERROR_NOCELL&WIFI_LOCATIONSWITCHOFF') >= 0) {
  44. uni.showModal({
  45. content: '请开启手机定位服务',
  46. showCancel: false
  47. })
  48. return;
  49. }
  50. // if (msg == 'getLocation:fail auth deny') {
  51. // uni.showToast({
  52. // title: '请勿频繁定位',
  53. // icon: 'none'
  54. // })
  55. // }
  56. }
  57. var that = this;
  58. uni.getSetting({
  59. success(res) {
  60. if (!res.authSetting["scope.userLocation"]) {
  61. uni.showModal({
  62. title: "授权位置信息",
  63. content: "请确认授权位置信息,否则无法定位",
  64. success: function (msg) {
  65. if (msg.confirm) {
  66. uni.openSetting({
  67. success: function (e) {
  68. if (e.authSetting["scope.userLocation"] === true) {
  69. uni.showToast({
  70. title: "授权成功",
  71. icon: "success",
  72. duration: 1000,
  73. });
  74. that.mapsdk();
  75. }
  76. },
  77. });
  78. } else if (msg.cancel) {
  79. uni.showToast({
  80. title: "授权位置失败",
  81. icon: "none",
  82. duration: 1000,
  83. });
  84. }
  85. },
  86. });
  87. } else {
  88. uni.showToast({
  89. title: "无法获取当前位置",
  90. icon: "error",
  91. duration: 5000,
  92. });
  93. }
  94. },
  95. });
  96. },
  97. }

获取位置信息需要在manifest.json中打开

 从腾讯地图下载的qqmap-wx-jssdk.js放在自己的js文件件中

 在那个页面需要就引用就来使用,然后可根据代码片段使用即可

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