当前位置: 首页 > article >正文

uniApp 加载google地图 并规划路线

uniApp 加载google地图 并规划路线

  • 备注:
  • 核心代码
  • 实例

备注:

打开谷歌地图失败的话 参考google开发文档

https://developers.google.com/maps/documentation/urls/ios-urlscheme?hl=zh-cn#swift

核心代码

mounted() {
	this.loadGoogleMapsScript();
},
methods: {
    //加载
	loadGoogleMapsScript() {
		const script = document.createElement('script');
		script.src =
			'https://maps.googleapis.com/maps/api/js?key=你自己的Key';
		script.async = true;
		script.defer = true;
		window.initMap = this.initMap; // 将 initMap 方法绑定到全局作用域
		document.head.appendChild(script);
	},
	//初始化
	initMap() {
		//获取当前的定位   经纬度
		navigator.geolocation.getCurrentPosition(position => {
			const {
				latitude,
				longitude
			} = position.coords;

			console.log("pos", position);

			const pos = {
				lat: latitude,
				lng: longitude
			};
			//加载到地图
			this.map = new google.maps.Map(document.getElementById('map'), {
				center: {
					lat: latitude,
					lng: longitude
				},
				zoom: 8,
			});


			// this.map = new google.maps.Map(document.getElementById('map'), {
			// 	center: {
			// 		lat: -34.397,
			// 		lng: 150.644
			// 	},
			// 	zoom: 8,
			// });

			// 设置起点和终点
			const start = new google.maps.LatLng(latitude, longitude);
			console.log(latitude, longitude);
			console.log(latitude + 1, longitude + 1);
			const end = new google.maps.LatLng(latitude + 1, longitude + 1);

			// 创建方向服务和方向渲染器实例
			const service = new google.maps.DirectionsService();
			const renderer = new google.maps.DirectionsRenderer({
				map: this.map
			});
			renderer.setMap(map);

			// 计算路径并在地图上显示
			service.route({
				origin: start,
				destination: end,
				travelMode: 'DRIVING', // 可选值:'DRIVING'(驾驶)、'WALKING'(步行)、'BICYCLING'(骑行)、'TRANSIT'(公共交通)
			}, (response, status) => {
				if (status === 'OK') {
					renderer.setDirections(response);
				} else {
					console.error('Directions request failed!');
				}
			});
		});
	},
},

实例

在这里插入图片描述


http://www.kler.cn/news/367270.html

相关文章:

  • 基于物联网的智慧考场系统设计(论文+源码)
  • MySQL-事务隔离级别
  • HLS协议之nginx-hls-多码率测试环境搭建
  • 15分钟学 Go 小项目:Web API
  • Vue实现Ai 聊天(流式请求处理和碰到的问题)
  • 回调函数的应用实践 (1)
  • 仕考网:25年初级会计师备考建议
  • 十分钟了解Android Handler、Looper、Message
  • Java虚拟机:JVM介绍
  • 微服务与多租户详解:架构设计与实现
  • Spring微服务学习笔记之Spring Cloud Alibaba远程服务调用实战
  • 基于SSM的儿童教育网站【附源码】
  • 【华为HCIP实战课程二十三】中间到中间系统协议IS-IS原理与配置详解,网络工程师
  • 霜降时节,网络防护也需“御寒”
  • 【LeetCode:43. 字符串相乘 + 模拟】
  • 408算法题leetcode--第38天
  • Promise、async、await 、异步生成器的错误处理方案
  • 挂耳式耳机品牌排行榜前十名有哪些?平价开放式耳机品牌推荐!
  • 【CSS3】css开篇基础(5)
  • 今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 10月27日,星期日
  • Vuejs设计与实现 — 同构渲染
  • R_机器学习——常用语法技巧汇总
  • 地球村上一些可能有助于赚钱的20个思维方式
  • php流程控制
  • 27.9 调用go-ansible执行playbook拷贝json文件重载采集器
  • 安全知识见闻-网络类型、协议、设备、安全