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

 更新时间: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);
      }
    })
  },

总结

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

相关文章

  • 鼠标移入移出改变CSS样式的小例子

    鼠标移入移出改变CSS样式的小例子

    本篇文章介绍鼠标移入移出改变CSS样式的实例演示,需要的朋友可以参考一下
    2013-06-06
  • javascript垃圾收集机制与内存泄漏详细解析

    javascript垃圾收集机制与内存泄漏详细解析

    本文是对javascript中的垃圾收集机制与内存泄漏进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-11-11
  • uni-app中弹窗的使用与自定义弹窗

    uni-app中弹窗的使用与自定义弹窗

    众所周知弹窗在我们实际开发场景中是非常常用的,最近在工作中就遇到了相关需求,所以下面这篇文章主要给大家介绍了关于uni-app中弹窗使用与自定义弹窗的相关资料,需要的朋友可以参考下
    2022-04-04
  • javascript闭包的使用之按钮切换功能

    javascript闭包的使用之按钮切换功能

    闭包就是能够读取其他函数内部变量的函数.这篇文章通过实例代码给大家介绍了javascript闭包的使用之按钮切换功能,感兴趣的朋友一起看看吧
    2018-08-08
  • JavaScript对象创建模式实例汇总

    JavaScript对象创建模式实例汇总

    这篇文章主要介绍了JavaScript对象创建模式,结合实例形式总结分析了JavaScript常见的对象创建模式,包括工厂模式、构造函数模式、原型模式、动态原型模式、寄生构造函数模式、稳妥构造函数模式等,需要的朋友可以参考下
    2016-10-10
  • 巧用canvas

    巧用canvas

    作为一项有意思的新技术,canvas给我们带来了对网页绘图和网页动画的新革命。本文简单介绍下canvas实用的功能,下面跟着小编一起来看下吧
    2017-01-01
  • JavaScript实现表格动态变色

    JavaScript实现表格动态变色

    这篇文章主要为大家详细介绍了JavaScript实现表格动态变色,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 使用post方法实现json往返传输数据的方法

    使用post方法实现json往返传输数据的方法

    今天小编就为大家分享一篇关于使用post方法实现json往返传输数据的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • JavaScript将页面表格导出为Excel的具体实现

    JavaScript将页面表格导出为Excel的具体实现

    如何将页面表格导出为Excel,这在日常工作中很常见,下面为大家详细的介绍下使用JavaScript是如何实现的
    2013-12-12
  • 实例讲解javascript实现异步图片上传方法

    实例讲解javascript实现异步图片上传方法

    给大家详细讲解一下如何通过javascript写出异步图片上传,并且把实例代码给大家分享了下,有兴趣的读者们测试一下吧。
    2017-12-12

最新评论