地图移动线路兼容PC和移动端

来源:https://www.sucaihuo.com/js/2648.html 2017-08-05 23:34浏览(1132) 收藏

一款地图移动线路的动画特效,兼容PC和移动端,一共有3个图标:起点图标、终点图标和移动车辆动画图标,实时显示剩余路程的米数,整体的效果还是挺不错的哦,喜欢的童鞋请收下吧。
地图移动线路兼容PC和移动端
分类:统计图 > 地图 难易:初级
查看演示 下载资源 下载积分: 20 积分

页面的head部分,需调用百度地图的API接口,并引入一个JS文件,代码如下:

<script src="http://api.map.baidu.com/getscript?v=2.0&ak=A1LU7iHS0avqQwPLAxbhKn0UYSQCuRVH&services=&t=20170803155555"></script>
<script type="text/javascript" src="js/lushu_min.js"></script>

页面的body部分,仅需一个指定id的div容器用来装载地图,代码如下:

<div id="map"></div>

页面的底部,创建地图实例并设置好各类参数,代码如下:

<script type="text/javascript">
var map = new BMap.Map("map");//创建地图实例
//创建起点
var pt_start = new BMap.Point(117.270591,23.812975);
var startIcon = new BMap.Icon("images/start.png", new BMap.Size(36,36));
var markerStrat = new BMap.Marker(pt_start,{icon:startIcon});  // 创建标注
map.addOverlay(markerStrat);             // 将标注添加到地图中
//创建终点
var pt_end =  new BMap.Point(116.885031,23.689196)//new BMap.Point(115.559445,22.859811);
var endIcon = new BMap.Icon("images/end.png", new BMap.Size(36,36));
var markerEnd = new BMap.Marker(pt_end,{icon:endIcon});  // 创建标注
map.addOverlay(markerEnd);             // 将标注添加到地图中

map.centerAndZoom(pt_start,15);
map.enableScrollWheelZoom();

//创建司机
var pt;
var marker2;
var index=0;
var points = [ 
	  new BMap.Point(117.270591,23.812975), 
	  new BMap.Point(117.227819,23.814327), 
	  new BMap.Point(117.171452,23.800036), 
	  new BMap.Point(117.132368,23.791609), 
	  new BMap.Point(117.076919,23.764658), 
	  new BMap.Point(117.024827,23.754510), 
	  new BMap.Point(116.981047,23.739533), 
	  new BMap.Point(116.939091,23.717617), 
	  new BMap.Point(116.900199,23.699399), 
	  new BMap.Point(116.885031,23.689196),
	 ];//设置坐标数组
var oTime = setInterval(function(){
	createp(index,points);
	distance = Math.ceil(map.getDistance(pt,pt_end));
	if(index+1<points.length){
		index++;
	}else{
		index=points.length-1;
	}
	var label = new BMap.Label("还距您"+distance+'米',{offset:new BMap.Size(0,-30)});
	label.setStyle({
		 fontSize : "0.6em",
		 border:0,
		 fontFamily:"'Microsoft YaHei','Lantinghei SC','Open Sans',Arial,'Hiragino Sans GB','STHeiti','WenQuanYi Micro Hei','SimSun',sans-serif",
		 "border-radius":"20px",
		 padding:"0.3em 0.4em"
	 });
	marker2.setLabel(label);
	map.centerAndZoom(pt,13);
	if(distance==0){
		var polyline = new BMap.Polyline(points);//创建折线
		map.addOverlay(polyline);//覆盖折线到地图上
		clearInterval(oTime);
		map.centerAndZoom(pt_end,13);
	}
},1000);

function createp(index,points){
	map.removeOverlay(marker2)
	pt = points[index];
	var myIcon = new BMap.Icon("images/car.gif", new BMap.Size(100,160),{    //小车图片
		//offset: new BMap.Size(0, -5),    //相当于CSS精灵
		//imageOffset: new BMap.Size(-20, 0)    //图片的偏移量。为了是图片底部中心对准坐标点。
	  });
	marker2 = new BMap.Marker(pt,{icon:myIcon});  // 创建标注
	map.addOverlay(marker2);  // 将标注添加到地图中*/
}
</script>
评论0
头像

系统已开启自动识别垃圾评论机制,识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ 1915635791

1 2