uniapp(vue通用)整合腾讯位置服务SDK---多平台小程序通用

专属邀请链接 这里进入腾讯位置服务官网: https://lbs.qq.com?lbs_invite=G9MRFLG 项目开始于2021-01-27 晚8

uniapp模板地址 https://ext.dcloud.net.cn/plugin?id=4067 github地址 https://github.com/dmhsq/uniapp-txwzsdk-demo 腾讯位置服务牛逼 腾讯位置服务文档小程序SDK :https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/jsSdkOverview

案例一:实现 位置共享 https://blog.csdn.net/qq_42027681/article/details/113428833 案例二:实现 运动轨迹记录 https://blog.csdn.net/qq_42027681/article/details/113429566 在线体验 在这里插入图片描述

虽然说官方文档写的是微信小程序,但是只要是Js其它平台也应该通用 试了下字节小程序可以用

在阅读此文章之前 需要了解 map组件的 部分属性

属性类型作用
longitudeNumber经度
latitudeNumber纬度
scaleNumber缩放级别
markersArray标记的点
polylineArray地图轨迹
@regionchangeEventHandle视野发生变化时触发
@tapEventHandle点击地图触发的事件

@TOC

注册位置服务账号

只有注册了账号才能使用SDK服务 注册地址 https://lbs.qq.com?lbs_invite=G9MRFLG

在这里插入图片描述

注册完毕取控制台新建应用 开启Webservice服务

引入SDK文件

官网首页 https://lbs.qq.com?lbs_invite=G9MRFLG 可以去官网下载 https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/jsSdkOverview 下载地址为 https://mapapi.qq.com/web/miniprogram/JSSDK/qqmap-wx-jssdk1.2.zip 根目录下添加 common 文件夹 在这里插入图片描述

实例化核心功能类

引入核心类

根据自己文件路径修改路径

1var QQMapWX = require('../../common/qqmap-wx-jssdk.js')

在这里插入图片描述

实例化

1var app = new QQMapWX({ 2 key: '腾讯位置服务控制台获取' 3})

腾讯位置服务控制台获取 key 在这里插入图片描述

功能接入

官网首页 https://lbs.qq.com?lbs_invite=G9MRFLG 说明 : 详细接入可选参数和返回参数 请移步官网 https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/jsSdkOverview

接入地点搜索

1app.search({ 2 //from参数不填默认当前地址//fromPs, 格式为 fromPs:{longitude: num,latitude: num} 3 keyword: keys, //关键词 4 locationto: youP, //格式为 youP: `latitude,longitude` 字符串 比如: "33.643206,114.851074" 或者对象格式{latitude:xxx,longitude:xxx} 5 success: res=>{ 6 console.log(res) 7 } 8})

在这里插入图片描述

在这里插入图片描述

属性类型作用
longitudeNumber地点经度
latitudeNumber地点纬度
titleStr地点名称
polygonArray地点形状
cricleArray圆属性
calloutArray点击标记的显示属性

<br /><br />

关键词输入提醒

1app.getSuggestion({ 2 //from参数不填默认当前地址 3 keyword: keys,: //关键词 4 region: city, //可不选,限制搜索城市 5 success: res=>{ 6 console.log(res.data) 7 } 8})

在这里插入图片描述

属性类型作用
location.lngNumber地点经度
location.latNumber地点纬度
titleStr地点名称
idStr地点id
addressStr详细地址
categoryStr分类
provinceStr
cityStr
districtStr区县

<br /><br />

逆地址解析(坐标转地址)

1demo.reverseGeocoder({ 2 location: fromPs, //格式为 `latitude,longitude` 字符串 比如: "33.643206,114.851074" 或者对象格式{latitude:xxx,longitude:xxx} 3 success: function(res) { 4 console.log(res.result) 5 } 6})

在这里插入图片描述

属性类型作用
location.lngNumber地点经度
location.latNumber地点纬度
titleStr地点名称
formatted_addresses.roughStr详细位置
addressStr详细地址
categoryStr分类
address_component.nationStr国家地区
address_component.provinceStr
address_component.cityStr
address_component.districtStr区县
address_component.streetStr街道
address_component.street_numberStr门牌号
address_reference.townStr乡镇
address_reference.landmark_l2Str村落

<br /><br />

地址解析(地址转坐标)

1demo.geocoder({ 2 address: address,//地址 3 success: function(res) { 4 console.log(res) 5 vm.doOne(res.result) 6 } 7})
属性类型作用
location.lngNumber地点经度
location.latNumber地点纬度
titleStr地点名称
formatted_addresses.roughStr详细位置
addressStr详细地址
categoryStr分类
address_component.nationStr国家地区
address_component.provinceStr
address_component.cityStr
address_component.districtStr区县
address_component.streetStr街道
address_component.street_numberStr门牌号
ad_info.adcodeStr地址编号
similarityStr输入地址与解析结果误差(文本相似度)
deviationStr误差距离
reliabilityStr可信度 越大越可信

<br /><br />

路线规划

1 2规划路线 3app.direction({ 4 mode: "" , //driving’(驾车)、‘walking’(步行)、‘bicycling’(骑行)、‘transit’(公交),默认:‘driving’ 5 //from参数不填默认当前地址 6 from: fromPs, //格式为 fromPs: `latitude,longitude` 字符串 比如: "33.643206,114.851074" 或者对象格式{latitude:xxx,longitude:xxx} 7 to: toPs, //格式为 toPs: `latitude,longitude` 字符串 比如: "33.643206,114.851074" 或者对象格式{latitude:xxx,longitude:xxx} 8 success: res=>{ 9 console.log(res.result.routes) 10 } 11})

在这里插入图片描述

属性类型作用
modeStr出行方式
distanceNumber距离
durationNumber规划的时间(包括路况)
polylineArray地点路径

<br /><br />

距离计算

1demo.calculateDistance({ 2 from: fromP, //格式为 `latitude,longitude` 字符串 比如: "33.643206,114.851074" 或者对象格式{latitude:xxx,longitude:xxx} 3 to: toP, //格式为 : `latitude,longitude` 字符串 比如: "33.643206,114.851074" 或者对象格式{latitude:xxx,longitude:xxx} 4 success:res=>{ 5 console.log(res.result.elements) 6 } 7})

在这里插入图片描述

属性类型作用
fromObj出发点
toObj到达点
distanceNumber距离

<br /><br />

获取城市列表

1demo.getCityList({ 2 success: res => { 3 console.log(res.result) 4 } 5})

在这里插入图片描述 在这里插入图片描述

属性类型作用
0/1/2数组下标0省级,1市级,2区县级
属性类型作用
idStr城市编号
nameStr城市简称
fullnameStr城市全称
pinyinArray城市拼音
location.lngNumber地点经度
location.latNumber地点纬度
cidxArray下级行政区在下个数组中的下标

cidx说明 比如 北京 cidx[015] 那么在市级数组 他的子行政区下标为0~15的 在这里插入图片描述

<br /><br />

<br><br><br><br><br><br>

  大家好,我是代码哈士奇,是一名软件学院网络工程的学生,因为我是“狗”,狗走千里吃肉。想把大学期间学的东西和大家分享,和大家一起进步。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!博客主页:https://blog.csdn.net/qq_42027681。 腾讯云+社区专栏https://cloud.tencent.com/developer/column/90853

未经本人允许,禁止转载

在这里插入图片描述

<br>

后续会推出

前端:vue入门 vue开发小程序 等 后端: java入门 springboot入门等 服务器:mysql入门 服务器简单指令 云服务器运行项目 一些插件的使用等

大学之道亦在自身,努力学习,热血青春 如果对编程感兴趣可以加入我们的qq群一起交流:974178910

有问题可以下方留言,看到了会回复哦

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )