微信小程序如何实现快速精确定位

 更新时间:2023年06月07日 14:21:45   作者:知奕奕  
腾讯位置服务为微信小程序提供了基础的标点能力、线和圆的绘制接口等地图组件和位置展示、地图选点等地图API位置服务能力支持,下面这篇文章主要给大家介绍了关于微信小程序如何实现快速精确定位的相关资料,需要的朋友可以参考下

腾讯位置服务注册

前置需求:拥有一个 APPID(只要你注册了小程序就都会有)
腾讯为每个独立开发者都准备了 10000次/天 的接口调用量,足够我们开发使用了

前往腾讯位置服务官网:https://lbs.qq.com/

注册一个账号

点击 控制台->应用管理->我的应用

点击创建新的应用,应用名称和应用类型随便选

为该应用添加一个新的 key

key 名称随便写

同时勾选“webserviceapi”以及“微信小程序”

同时填入我们的 APPID; webserviceapi 默认选择“域名白名单”即可,白名单内什么都不用写

此时就会获得我们的第一个 key,请复制该 key,后续调用接口的时候需要用到它

快速测试

配置 SDK

进入此网站下载 SDK:https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/jsSdkOverview

或者点击顶部菜单栏的 开发文档->微信小程序 JavaScriptSDK 即可来到下载页面

按照官方文档 3、4 步的指引,下载 SDK 以及配置好小程序的合法域名!

官网给出的建议是,下载的 SDK 放在哪都可以,我在小程序项目的根目录下创建了 api 文件夹,将两个 js 文件都丢了进去

小程序配置

网上许多方法给出的建议都是让我们去小程序后天管理页面,进入到开发管理中的接口设置面板,选择性的申请对应的接口;

这里建议大家优先选择申请 getLocation

事实上,申请与否都不影响当前我们调用腾讯位置服务接口,这里只是为了后续可能会用到的场景打下铺垫

最关键的一点来了!

打开小程序项目下的 app.json ,我们需要配置如下两个配置项,才可以保证接口正确的调用

scope.userLocation 基于开发者调用地理位置接口的权限
requiredPrivateInfos 在这里配置开发时需要用到的 API 名称,一般开发只会用到 getLocation

"permission": {
    "scope.userLocation": {
      "desc": "您的位置信息将用于发布现象"
    }
  },
"requiredPrivateInfos": ["getLocation","chooseLocation"],

根据官网标准指引,我们新建一个 page,名字随意

按照模板输入以下代码,即可获取到当前位置周边的若干酒店状况

var QQMapWX = require("../../api/qqmap-wx-jssdk.js");
var qqmapsdk;

Page({
    ...

    // 页面载入时通过我们之前复制的key注册接口
	onLoad() {
		qqmapsdk = new QQMapWX({
			key: "xxxxx",
		});
	},

    // 获取地理位置的方法,接口属性应该很简单不用再解释了
	getPosition() {
		qqmapsdk.search({
			keyword: "酒店",
			success: (res) => {
				console.log(res);
			},
			fail: (err) => {
				console.log(err);
			},
			complete: (res) => {
				console.log("完成获取地点信息");
			},
		});
	}
});

获取用户精确位置

配置保持不变,我将在以上两小节的基础之上组织以下的内容

通过逆地址解析 reverseGeocoder(将经纬度信息转换为实际地址),实现精确定位

我们不需要传入当前地理位置信息,接口会自动获取!我们仅需从 success 回调拿到结果即可!

data: {
    position: ""
  },
getPosition() {
    let that = this
    qqmapsdk.reverseGeocoder({
      success:(res)=>{
        that.setData({
          position:res.result.address
        })
      },
      fail:(err)=>{
        console.log(err);
      }
    })
  },

总结

到此这篇关于微信小程序如何实现快速精确定位的文章就介绍到这了,更多相关微信小程序快速精确定位内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • js判断所有表单项不为空则提交表单的实现方法

    js判断所有表单项不为空则提交表单的实现方法

    下面小编就为大家带来一篇js判断所有表单项不为空则提交表单的实现方法。小编觉得挺不错的, 现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • webpack打包优化的几个方法总结

    webpack打包优化的几个方法总结

    这篇文章主要介绍了webpack打包优化的几个方法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 纯JS打造网页中checkbox和radio的美化效果

    纯JS打造网页中checkbox和radio的美化效果

    这篇文章主要介绍了纯JS打造网页中checkbox和radio的美化效果,代码简单易懂,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-10-10
  • 微信小程序城市定位的实现实例(获取当前所在国家城市信息)

    微信小程序城市定位的实现实例(获取当前所在国家城市信息)

    这篇文章给大家认真介绍了微信小程序城市定位的实现实例,主要实现了获取当前所在国家城市信息的相关资料,文中介绍的非常详细,相信对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-05-05
  • Js数组对象如何根据多个key值进行分类

    Js数组对象如何根据多个key值进行分类

    这篇文章主要介绍了Js数组对象如何根据多个key值进行分类,每周从 npm 下载 lodash.groupBy 的次数在 150 万到 200 万之间,很高兴看到 JavaScript 填补了这些空白,让我们的工作变得更加轻松,需要的朋友可以参考下
    2024-02-02
  • html+css+js实现别踩白板小游戏

    html+css+js实现别踩白板小游戏

    大家好,本篇文章主要的讲的是html+css+js实现别踩白板小游戏,感兴趣的同学赶快来看一看吧,觉得不错的话可以收藏一下哦,方便下次浏览
    2021-11-11
  • 浅析JS中的原型,原型链和继承

    浅析JS中的原型,原型链和继承

    经典模式和圣杯模式都是用于解决构造函数继承和原型继承的问题,但它们在实现继承的方式上有所不同,本文主要来和大家聊聊经典模式和圣杯模式下原型,原型链和继承的实现,需要的可以参考下
    2023-09-09
  • JS运动特效之同时运动实现方法分析

    JS运动特效之同时运动实现方法分析

    这篇文章主要介绍了JS运动特效之同时运动实现方法,结合实例形式分析了javascript同时运动的原理与相关实现技巧,需要的朋友可以参考下
    2018-01-01
  • Bootstrap标签页(Tab)插件切换echarts不显示问题的解决

    Bootstrap标签页(Tab)插件切换echarts不显示问题的解决

    这篇文章主要给大家介绍了关于Bootstrap标签页(Tab)插件切换echarts不显示问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • javascript实现的动态添加表单元素input,button等(appendChild)

    javascript实现的动态添加表单元素input,button等(appendChild)

    这篇文章给大家介绍了javascript实现的动态添加表单元素input,button等(appendChild)的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2007-11-11

最新评论