微信小程序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接口申请方法技巧

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

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

    2024年02月13日
    浏览(7)
  • 【微信小程序地理位置权限】wx.getLocation申请教程+申请素材

    【微信小程序地理位置权限】wx.getLocation申请教程+申请素材

    为进一步规范开发者调用涉用户信息相关接口或功能,保障用户合法权益,平台将对如下地理位置相关接口调用实行准入开通: wx.getLocation、wx.onLocationChange、wx.chooseAddress、wx.chooseLocation、wx.choosePoi 自2022年4月18日开始,如使用以上接口,在代码审核环节将检测该接口是否已完

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

    uniapp开发指南1 -- 微信小程序申请 wx.getLocation、wx.chooseLocation API指南

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

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

    微信小程序中使用 wx.getLocation获取当前详细位置并计算距离

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

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

    微信小程序申请地理位置接口wx.getLocation不通过的应对方案 过率很高

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

    2024年02月15日
    浏览(12)
  • 微信小程序报错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

    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日
    浏览(5)
  • 微信小程序集成腾讯地图

    微信小程序集成腾讯地图

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

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

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

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

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

    2024年01月25日
    浏览(47)
  • 微信小程序 --- 腾讯地图线路规划

    微信小程序 --- 腾讯地图线路规划

    目录 微信小程序JavaScript 简介 Hello world! geocoder(options:Object) 微信小程序插件 简介 路线规划插件 入驻腾讯位置服务平台 申请开发者密钥(Key):申请秘钥 Key的作用与注意事项 微信公众平台绑定插件 方式一: 方式二: 方式三: 插件介绍 接入指引 相关参数说明 插件错误处

    2024年04月13日
    浏览(10)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包