微信小程序:通过腾讯地图获取用户地理位置信息及其行政区域代码

简介: 微信小程序:通过腾讯地图获取用户地理位置信息及其行政区域代码

一、获取接口权限

根据腾讯地图文档需要完成以下几个步骤:


1、创建应用: https://lbs.qq.com/dev/console/application/mine


申请开发者密钥(key)

填写微信小程序授权 APP ID

勾选WebserviceAPI 域名白名单

2、下载微信小程序JavaScriptSDK(如果地址失效请到官网下载)


https://mapapi.qq.com/web/miniprogram/JSSDK/qqmap-wx-jssdk1.2.zip

解压后放在目录


libs/qqmap-wx-jssdk.js

3、微信小程序后台添加安全域名:https://apis.map.qq.com


二、使用

单独提取出功能函数 utils/qq-map.js


/**
 * 腾讯地图 微信小程序JS API
 * https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/jsSdkOverview
 */
import QQMapWX from '../libs/qqmap-wx-jssdk.js';
// 申请开发者密钥(key)
const QQMAP_KEY = 'xxx';
const qqmapsdk = new QQMapWX({
  key: QQMAP_KEY,
});
/**
 * 逆地址解析(坐标位置描述)
 * options: {location: {latitude: 纬度, longitude: 经度}}
 */
export function reverseGeocoder(options) {
  return new Promise((resolve, reject) => {
    qqmapsdk.reverseGeocoder({
      ...options,
      success: resolve,
      fail: reject,
    });
  });
}

使用 pages/index/index.js


import { reverseGeocoder } from '../../utils/qq-map.js';
async getIpInfo() {
    // 1、通过微信小程序获取当前位置坐标,需要用户点击授权按钮
    const locationRes = await wx.getLocation({
      type: 'wgs84',
    });
    console.log(locationRes);
    if (locationRes.errMsg == 'getLocation:ok') {
      // 2、根据坐标获取位置的详细信息
      const reverseRes = await reverseGeocoder({
       location: {
         latitude: locationRes.latitude,
         longitude: locationRes.longitude,
       }
      });
      console.log(reverseRes);
      // 行政区域码
      let locationCode = reverseRes.result.ad_info.adcode;
    }
  },

如果用户未授权位置信息获取,可以降级使用ip获取用户位置信息

Python/PHP:免费IP归属地查询接口和通过ip获取大致位置信息

相关文章
|
22天前
|
开发框架 小程序 JavaScript
小程序代码丢失!反编译找回
小程序源代码的容易获取问题确实存在一些潜在的安全隐患。然而,现在的小程序开发框架采用像 Babel 这样的打包工具,将 JavaScript 逻辑代码混合在一个文件中并进行转编译,使其变得难以理解。
28 0
小程序代码丢失!反编译找回
|
1月前
|
小程序 JavaScript
微信小程序之input组件及其获取用户输入信息
微信小程序之input组件及其获取用户输入信息
44 1
|
2月前
|
小程序 JavaScript Go
代码总有一个是你想要的分享63个微信小程序源
分享63个微信小程序源代码,包括电商系统、同城拼车、博客等多种应用,涵盖C#、Node.js、Golang等技术栈。每个项目附带源码和示例,适合初学者和开发者参考学习。提取码:8888,代码效果参考:http://www.603393.com/sitemap.xml。
54 2
|
3月前
|
小程序 前端开发 JavaScript
微信小程序实现微信支付(代码和注释很详细)
微信小程序实现微信支付(代码和注释很详细)
|
3月前
|
小程序 JavaScript 前端开发
微信小程序开发必备前置知识:基本代码构成与语法
【8月更文挑战第8天】微信小程序的基本代码构成与语法
100 0
微信小程序开发必备前置知识:基本代码构成与语法
|
3月前
|
小程序 JavaScript 安全
微信小程序实现云闪付支付(代码和注释很详细)
微信小程序实现云闪付支付(代码和注释很详细)
|
21天前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
326 7
|
21天前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
401 1
|
1月前
|
小程序 前端开发 测试技术
微信小程序的开发完整流程是什么?
微信小程序的开发完整流程是什么?
95 7
ly~
|
2月前
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
74 6