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!');}});});},
},