微信小程序wx.getLocation+腾讯地图手动选择地址及解析地址

这篇具有很好参考价值的文章主要介绍了微信小程序wx.getLocation+腾讯地图手动选择地址及解析地址。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、小程序使用腾讯地图-入门及使用限制

步骤:

  1. 入驻腾讯位置服务平台
  2. 申请开发者密钥(Key):申请秘钥
  3. Key的作用与注意事项
  4. 微信公众平台绑定插件

参考地址: https://lbs.qq.com/miniProgram/plugin/pluginGuide/pluginStart

二、小程序使用腾讯地图解析地址(坐标->位置)

1.步骤

  1. 申请开发者密钥(key):申请密钥
  2. 开通webserviceAPI服务:控制台 ->应用管理 -> 我的应用 ->添加key-> 勾选WebServiceAPI -> 保存
    (小程序SDK需要用到webserviceAPI的部分服务,所以使用该功能的KEY需要具备相应的权限)
  3. 下载微信小程序JavaScriptSDK,微信小程序JavaScriptSDK v1.1 JavaScriptSDK v1.2
  4. 安全域名设置,在小程序管理后台 -> 开发 -> 开发管理 -> 开发设置 -> “服务器域名” 中设置request合法域名,添加https://apis.map.qq.com:

参考地址: https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/jsSdkOverview

2. 小程序代码示例

// 引入SDK核心类,js文件根据自己业务,位置可自行放置
// qqmap-wx-jssdk.js在参考链接官方下下载
var QQMapWX = require('../../libs/qqmap-wx-jssdk.js');
var qqmapsdk;

onLoad: function () {
		// 实例化API核心类
		qqmapsdk = new QQMapWX({
				key: '申请的key'
		});
},

getLocation() {
	let _self = this;
	wx.getLocation({
		type: 'gcj02',
		isHighAccuracy: true,
		altitude: true,
		success(res) {
			// console.log("res22-getLocation", res);
			const speed = res.speed
			const accuracy = res.accuracy

			let { latitude, longitude } = res
			_self.setData({
				latitudeAddress: latitude,
				longitudeAddress: longitude,
			})
			// 调用腾讯地图api获取当前位置
			qqmapsdk.reverseGeocoder({
				location: {
					latitude: latitude,
					longitude: longitude
				},
				success: function (res) {
					_self.setData({
						detailAddress: res.result.address,
					})
					console.log("res-reverseGeocoder-success", res.result);
				},
				fail: function (res) {
					// console.log("res-reverseGeocoder-fail", res.result);
				},
				complete: function (res) {
					// console.log("res-reverseGeocoder-complete", res.result);
					wx.hideLoading();
				}
			});
		}
	})
},

三、腾讯地图选点插件

1、插件申请接入:

在腾讯微信公众平台中, “微信小程序官方后台-设置-第三方服务-插件管理” 里点击 “添加插件”,搜索 “腾讯位置服务地图选点” 申请,申请后小程序开发者可在小程序内使用该插件。

2、引入插件包:

地图选点appId: wxXXXXXX你的appId
代码如下(示例):

// app.json
{
    "plugins": {
        "chooseLocation": {
        "version": "1.0.9",
        "provider": "你的appId"
        }
    }
}

3、设置定位授权:

地图选点插件需要小程序提供定位授权才能够正常使用定位功能:

// app.json
{
    "permission": {
        "scope.userLocation": {
        "desc": "你的位置信息将用于小程序定位"
        }
    }
}

4、使用插件:

插件页面调用示例:

const key = ''; //使用在腾讯位置服务申请的key
const referer = ''; //调用插件的app的名称
const location = JSON.stringify({
  latitude: 39.89631551,
  longitude: 116.323459711
});
const category = '生活服务,娱乐休闲';
 
wx.navigateTo({
  url: 'plugin://chooseLocation/index?key=' + key + '&referer=' + referer + '&location=' + location + '&category=' + category
});

5、 插件接口调用示例:

const chooseLocation = requirePlugin('chooseLocation');
Page({
    // 从地图选点插件返回后,在页面的onShow生命周期函数中能够调用插件接口,取得选点结果对象
    onShow () {
        const location = chooseLocation.getLocation(); // 如果点击确认选点按钮,则返回选点结果对象,否则返回null
    },
    onUnload () {
        // 页面卸载时设置插件选点数据为null,防止再次进入页面,geLocation返回的是上次选点结果
        chooseLocation.setLocation(null);
    }
})

四、整体demo

微信获取当前经纬度并解析为地址, 并且可以实时打开地图选址demo页面
app.json

"permission": {
	"scope.userLocation": {
		"desc": "你的位置信息将用于小程序位置接口的效果展示"
	}
},
"plugins": {
	"chooseLocation": {
		"version": "1.0.9",
		"provider": "你的appId"
	}
}

使用页面demo

// index.js
var QQMapWX = require('../../utils/qqmap-wx-jssdk.js');
var qqmapsdk;
const chooseLocation = requirePlugin('chooseLocation');

Page({
  data: {
    detailAddress: "",
    latitudeAddress: "",
    longitudeAddress: "",
    callDetailShow: false,
    locationAdd: {},
  },

  onLoad() {
    
    // 实例化API核心类
    qqmapsdk = new QQMapWX({
      key: 'NIOBZ-QVBWV-CKLPF-UMXFI-B45LK-TEBCF'
    });
    this.getLocation();
   
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    const location = chooseLocation.getLocation(); // 如果点击确认选点按钮,则返回选点结果对象,否则返回null
    console.log("chooseLocation-onShow111", location);
    if (location != null) {
      this.setData({
        detailAddress: location.address,
        latitudeAddress: location.latitude,
        longitudeAddress: location.longitude,
      })
    }
  },
  /**
  * 生命周期函数--监听页面隐藏
  */
  onHide() {
  },
  /**
  * 生命周期函数--监听页面卸载
  */
  onUnload() {
    // 页面卸载时设置插件选点数据为null,防止再次进入页面,geLocation返回的是上次选点结果
    chooseLocation.setLocation(null);
  },
  
  getLocation() {
    let _self = this;
    wx.getLocation({
      type: 'gcj02',
      isHighAccuracy: true,
      altitude: true,
      success(res) {
        // console.log("res22-getLocation", res);
        const speed = res.speed
        const accuracy = res.accuracy

        let { latitude, longitude } = res
        _self.setData({
          latitudeAddress: latitude,
          longitudeAddress: longitude,
        })
        // 调用腾讯地图api获取当前位置
        qqmapsdk.reverseGeocoder({
          location: {
            latitude: latitude,
            longitude: longitude
          },
          success: function (res) {
            _self.setData({
              detailAddress: res.result.address,
            })
            console.log("res-reverseGeocoder-success", res.result);
          },
          fail: function (res) {
            // console.log("res-reverseGeocoder-fail", res.result);
          },
          complete: function (res) {
            // console.log("res-reverseGeocoder-complete", res.result);
            wx.hideLoading();
          }
        });
      }
    })
  },
  updataAddress() {
    const key = 'XXXXX-TEBCF'; //使用在腾讯位置服务申请的key
    const referer = '小程序报警'; //调用插件的app的名称
    wx.navigateTo({
      url: 'plugin://chooseLocation/index?key=' + key + '&referer=' + referer
    });
  },
  isRecordsSendChange(event) {
    console.log("isRecordsSendChange", event.detail);
    if (event.detail) {
      this.setData({
        isRecordsSend: 1,
      });
    } else {
      this.setData({
        isRecordsSend: 0,
      });
    }

  },

总结

微信小程序wx.getLocation+腾讯地图手动选择地址及解析地址文章来源地址https://www.toymoban.com/news/detail-806903.html

到了这里,关于微信小程序wx.getLocation+腾讯地图手动选择地址及解析地址的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序地理位置接口wx.getLocation接口申请方法技巧

    我们在开发微信小程序的时候,提交审核微信官方就会检测咱们的小程序有没有用到位置功能,涉及用到哪个位置接口,然后就会要求我们先申请相应的位置接口,审核通过后才可以发布小程序。 这个接口审核一直是让大家头痛的事情,有的小伙伴申请几十次都不给过,有时

    2024年02月13日
    浏览(29)
  • 微信小程序wx.getLocation 真机调试不出现隐私弹窗

            在小程序的开发过程中,首页中包含要获取用户地理位置的功能,所以在这里的onLoad()中调用了wx.getLocation(),模拟调试时一切正常,但到了真机环境中就隐私框就不再弹出,并且出现了报错,在打印之后发现getLocation的成功和失败均没有进行          (设置

    2024年04月16日
    浏览(29)
  • uniapp开发指南1 -- 微信小程序申请 wx.getLocation、wx.chooseLocation API指南

    最近项目中要使用微信小程序的地理位置信息采集的功能,需要使用 wx.chooseLocation 和 wx.getLocation 两个API接口。于是我全程负责从申请到开发,下面由我来简述一下申请和开发指南。 这是地址: 微信公众平台 首先我们进入的小程序后台,点击 “ 设置 ” 进入 “ 基本设置

    2024年02月03日
    浏览(42)
  • 微信小程序中使用 wx.getLocation获取当前详细位置并计算距离

    wx.getLocation只能够获取经纬度,不能够拿到详细地址;如果你的项目刚好也使用腾讯地图的api,那么可以通过腾讯地图的逆解析就能拿到详细地址了; 先介绍一下wx.getLocation()方法的使用; 此方法可以获取当前的经纬度和速度、高度;官网链接 想要使用这个方法,先需要在

    2024年02月08日
    浏览(42)
  • 微信小程序申请地理位置接口wx.getLocation不通过的应对方案 过率很高

    1、 你好,你的小程序“xxxxxx”申请的wx.getLocation接口因你提供的申请原因/辅助图片/网页/视频内容无法确认申请接口使用场景审核不通过,建议修改后重新提交。 2、 你好,你的小程序“xxxxx”申请的wx.getLocation接口因你所描述的小程序接口使用场景,目前未符合接入wx.getL

    2024年02月15日
    浏览(39)
  • 微信小程序报错wx.getLocation need to be declared in the requiredPrivateInfos field in app.json

    wx.getLocation need to be declared in the requiredPrivateInfos field in app.json/ext.json(env: Windows,mp,1.06.2301160; lib: 2.30.3) 自 2022 年 7 月 14 日后发布的小程序,使用以下8个地理位置相关接口时,需要声明该字段,否则将无法正常使用。 文件app.json   全局配置 | 微信开放文档 微信开发者平台文档

    2024年02月05日
    浏览(36)
  • 微信小程序集成腾讯地图

    微信小程序集成腾讯地图,实现用户附近停车位搜索显示。 官方地址:https://lbs.qq.com/ 下面这个是我的个人公共号 只会写Bug的程序猿 ,大家可以关注一下,一键三连。相互交流学习。

    2024年02月04日
    浏览(52)
  • 微信小程序使用腾讯地图

    第一步:登录或者注册腾讯地图官方(地址:https://lbs.qq.com/) 第二步:在创建sdk; 创建方法:进入控制面板后显示创建sdk,点击之后输入名称和选择应用场景后点击设置选择web和小程序后输入APPID后点击确定就好。 第二步:在微信小程序开发管理页面里面的域名管理里面输

    2024年02月04日
    浏览(51)
  • 微信小程序腾讯地图定位转高德地图定位

    微信小程序获取到了当前用户的定位,需要在高德地图上进行渲染。 发现正常渲染后,偏差几百米。 这里图方便,直接丢到window上了 这里演示“腾讯地图”转“高德地图”

    2024年01月25日
    浏览(61)
  • 微信小程序引入腾讯地图图解

    一、准备工作 1.小程序 (qq.com)进入网址注册属于自己的小程序: 填写信息-登录邮箱激活-信息登记 2.完成后,就会进入这个页面 3.在小程序管理后台 - 开发 - 开发管理 - 开发设置 - “服务器域名” 中设置request合法域名,添加https://apis.map.qq.com 注意此处的开发者ID-小程序ID在下

    2024年02月03日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包