IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 个人主体的小程序如何利用腾讯地图 webServiceAPI 配合map组件 来做路线规划? -> 正文阅读

[移动开发]个人主体的小程序如何利用腾讯地图 webServiceAPI 配合map组件 来做路线规划?

前言:
最近在做一个自己的小程序的工具集‘web小白成长之旅’ ,里面的包括一些地图等工具。但是个人主体开发小程序在添加插件里面无论如何都无法添加 ‘腾讯位置服务路线规划’插件。既然找不到这个插件,那么,只能绕过这个插件,去使用其他的。今天我就用腾讯地图 webServicr API服务来做一些简单的地图展示。
看一下效果:
在这里插入图片描述

一、前期准备工作

1.在设置—第三方设置-----第三方平台授权管理中 -添加 腾讯位置授权在这里插入图片描述
2. 在腾讯位置服务后台 控制台 添加应用 以及 添加key: 这里有一个重点: 在下面勾选上微信小程序选项 并且把自己小程序的appid复制在里面
在这里插入图片描述

二、项目配置工作(我是用uniapp写的小程序,所以在这里我说的是uniapp 里面的配置)

1.在manifest.json 里面 打开 源码视图 找到mp-weixin,配置"permission" : {
“scope.userLocation” : {
“desc” : “你的位置信息将用于小程序定位组件效果展示”
}
},
在这里插入图片描述

2.配置requiredPrivateInfos ,如果不配置报错:选择地址:{“errMsg”:“getLocation:fail the api need to be declared in the requiredPrivateInfos field in app/ext.json”}
在这里插入图片描述

三、页面使用


我的步骤:
1.通过chooseLocation 获取到出发地和目的地的经纬度,调用腾讯weibService API给的接口,有一些bug,但是可以大致的规划出路线。

先看一下效果
在这里插入图片描述

拿到的数据结果:
在这里插入图片描述

具体代码:

<template>
	<map name="" :latitude="latitude" :longitude="longitude" show-location :markers="covers" :scale="scale" :polyline="polyline_Object"></map>
</template>
//
<script>
	export default{
	data(){
		return{
			start_address:{
				longitude:0,
				latitude :0
			},
			end_address:{
				longitude:0,
				latitude :0
			},
			//这个数据就是渲染所有的点,利用map组件中的polyline 进行点的渲染
			polyline_Object:[
				{
				points:[],
				color: "#3FB837",
				width: 3,
				dottedLine: false
				}
			]
		}
	}
		methods:{
			getRouteDriving() {
				let that=this;
				uni.request({
					url: 'https://apis.map.qq.com/ws/direction/v1/driving/?from=' + that.start_address.latitude +
						',' + that.start_address.longitude + '&to=' + that.end_adress.latitude + ',' + that
						.end_adress.longitude + '&accuracy=30&output=json&callback=cb' + '&key=' + that.keyCode,
					success(res) {
						// console.log(res)
						if (res.data.status == 0) {
							let coors = res.data.result.routes[0].polyline;
							for (let i = 2; i < coors.length; i++) {
								coors[i] = coors[i - 2] + coors[i] / 1000000
							}
							// console.log('路线坐标点串解压完毕!')
							// console.log('路线坐标点串解压结果如下:')
							// console.log(coors);
							/** 将解压后的坐标点串进行拼接成polyline想要的样子 */
							var coors_new = [] //记住微信小程序声明一个数组这样写
							for (var j = 0; j < coors.length; j++) {
								coors_new.push({
									latitude: parseFloat(coors[j]),
									longitude: parseFloat(coors[j + 1])
								})
								j++;
							}
							// console.log('路线坐标点串格式化完毕!')
							// console.log('路线坐标点串格式化结果如下:')
							// console.log(coors)
							// console.log('已经产生新的经纬度数组coors_new如下:')
							// console.log(coors_new)
							// console.log('路线坐标点串解压后一共:' + coors.length + '个')
							// console.log('路线坐标点串转换后一共:' + coors_new.length + '个')
							that.polyline_Object=[{
								points:coors_new,
								color: "#3FB837",
								width: 3,
								dottedLine: false
							}]
						}
					},
					fail(err) {
						console.log(err)
					}
				})
			},	
	}
}
</script>


以上就是利用腾讯地图webService API来做路线规划渲染的结果。大家也可以看腾讯的官方文档来做

或者大家来我的小程序(web小白成长之旅)上来看一下效果。希望对你有所帮助。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-10-22 21:26:57  更:2022-10-22 21:28:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 3:25:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码