中岁颇好道,晚家南山陲。兴来美独往,胜事空自知。一些风景再好,终不属于自己;有些情感,路过交错,已然是最好的结局。
高德地图引入和轨迹的绘制
1.第一步
vue中使用cdn引入高德地图,并在main.js中进行全局配置。(百度上有高德地图引入与配置方法,这里就不详细介绍);
1) npm install vue-amap --save
2)
import VueAMap from ‘vue-amap' Vue.use(VueAMap); VueAMap.initAMapApiLoader({ key: ‘********************',//自己在高德地图平台上的key值 plugin: [‘AMap.Autocomplete', ‘AMap.PlaceSearch', ‘AMap.Scale', ‘AMap.OverView', ‘AMap.ToolBar', ‘AMap.MapType', ‘AMap.PolyEditor', ‘AMap.CircleEditor',‘AMap.ControlBar',‘AMap.MouseTool',‘AMap.GeometryUtil',‘AMap.DistrictSearch'],//需要的高德地图插件,需要什么插件添加什么插件(这里只是其中一部分) // 默认高德 sdk 版本为 1.4.4 v: ‘1.4.4', uiVersion:‘1.0.11' });
2.第二步
//引入地图,这时地图已经可以在页面上显示了。 this.map = new AMap.Map('themap', { resizeEnable: true, center:[121.716284,29.888144],//这是地图的中心点 zoom: 18,//地图的层级 layers: [ new AMap.TileLayer, this.imageLayer //这是我在地图上绘制自己的图层用的方法,可去掉。 ] });
//引入Marker,绘制点标记 this.marker = new AMap.Marker({ map: this.map, position: this.firstArr, icon: pic,//这里是我要的图片 });
//绘制轨迹 this.polyline = new AMap.Polyline({ map: this.map, path: this.lineArr, // 这里是轨迹的坐标拼成的数组 showDir: true, strokeColor: "#28F", //线颜色 // strokeOpacity: 1, //线透明度 strokeWeight: 6 //线宽 // strokeStyle: "solid" //线样式 }); var passedPolyline = new AMap.Polyline({ map: this.map, strokeColor: "#AF5", //线颜色 //path: this.lineArr, // strokeOpacity: 1, //线透明度 strokeWeight: 6 //线宽 // strokeStyle: "solid" //线样式 }); this.marker.on("moving", function(e) { passedPolyline.setPath(e.passedPath); }); this.map.setFitView();//自动调整到合适的位置
以上就是轨迹绘制的整个过程
扩展
要想在自己的地图上绘制图层,可以用上面用到的imageLayer
this.imageLayer = new AMap.ImageLayer({ url:tupian , //这里是自己的图片 bounds: new AMap.Bounds( [121.71105271149695,29.885719370176783],//左下角的坐标 [121.72236765648086,29.891597442759533],//右上角的坐标 ), zooms: [15, 18] //这里是在15到18的范围内显示 });
这里要提示一下,放的图片一定要根据地图的方向。