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点击地图触发的事件

注册位置服务账号

只有注册了账号才能使用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 文件夹
在这里插入图片描述

实例化核心功能类

引入核心类

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

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

在这里插入图片描述

实例化

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

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

功能接入

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

接入地点搜索

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

在这里插入图片描述

在这里插入图片描述

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



关键词输入提醒

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

在这里插入图片描述

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



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

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

在这里插入图片描述

属性类型作用
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村落



地址解析(地址转坐标)

demo.geocoder({
	address: address,//地址
	success: function(res) {
	console.log(res)
		vm.doOne(res.result)
	}
})
属性类型作用
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可信度 越大越可信



路线规划


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

在这里插入图片描述

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



距离计算

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

在这里插入图片描述

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



获取城市列表

demo.getCityList({
	success: res => {
		console.log(res.result)
	}
})

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

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

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



视频预告

uniapp整合腾讯位置服务开发小程序位置服务---One---开题及预告







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

未经本人允许,禁止转载

在这里插入图片描述


后续会推出

前端:vue入门 vue开发小程序 等
后端: java入门 springboot入门等
服务器:mysql入门 服务器简单指令 云服务器运行项目
python:推荐不温卜火 一定要看哦
一些插件的使用等

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

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

  • 59
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码哈士奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值