`
jjjssh
  • 浏览: 77752 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

百度地图js实时播放轨迹

阅读更多
功能:每个10秒获取车辆的最新位置点,然后地图上画出点和线路,两点之前是用规划路线,而不是直接连线,并且移动点时,根据位置是否在视野范围内,重新设置地图的视野,下面是代码
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
	body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的ak"></script>
<title>单个标注点沿直线的轨迹运动</title>
</head>
<body>
	<div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
// 百度地图API功能
var map=new BMap.Map("allmap");
var startPoint={lon:116.404,lat:39.915};
map.centerAndZoom(new BMap.Point(startPoint.lon, startPoint.lat), 15);
map.enableScrollWheelZoom(true);

var myIcon=new BMap.Icon("http://lbsyun.baidu.com/jsdemo/img/Mario.png", new BMap.Size(32, 70), { //小车图片
	//offset: new BMap.Size(0, -5),    //相当于CSS精灵
	imageOffset: new BMap.Size(0, 0)//图片的偏移量。为了是图片底部中心对准坐标点。
});
var carMk=new BMap.Marker(new BMap.Point(startPoint.lon, startPoint.lat),{icon:myIcon});
map.addOverlay(carMk);

function renderLastPoint(point){
	// 实例化一个驾车导航用来生成路线
	var driving=new BMap.DrivingRoute(map);
	var sp=new BMap.Point(startPoint.lon, startPoint.lat);
	var ep=new BMap.Point(point.lon, point.lat);
	driving.search(sp, ep);
	//设置新的开始点
	startPoint=point;
	
	driving.setSearchCompleteCallback(function(res){
		//console.info(res);
		if(driving.getStatus()==BMAP_STATUS_SUCCESS){
			//获取两点之间的实际点组
            var plan=res.getPlan(0);
            var arrPois=[];
            for(var j=0;j<plan.getNumRoutes();j++){
                var route=plan.getRoute(j);
                arrPois=arrPois.concat(route.getPath());
            }
			//把实际点加到地图上
            //根据点组的长度画线和画点
			drawMap(arrPois);
		}
	});
}

var t30=10*1000;

function drawMap(pointArr){
	if(pointArr.length==0){
		return;
	}
	var t=t30;//30秒
	//计算每次执行的时间
	var at=t/pointArr.length;
	var i=0;
	
	var f=function(){
		if((i+1)>(pointArr.length-1)){
			return;
		}
		var sp=pointArr[i];
		var ep=pointArr[i+1];
		
		//地图画线
		var polyline=new BMap.Polyline([sp,ep],{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});//创建折线
		map.addOverlay(polyline);
		//移动点
		carMk.setPosition(ep);
		var bound=map.getBounds();//地图可视区域
		if(bound.containsPoint(ep)==false){
			map.panTo(ep);
		}
		
		i++;
		setTimeout(function(){
			f();
		},at);
	};
	
	f();
	
}

//模拟业务
var ii=0;
var _task=setInterval(function(){
	var lastPoint={lon:116.424374+ii*0.01,lat:39.914668};//终点
	if(lastPoint.lon==startPoint.lon&&lastPoint.lat==startPoint.lat){
		//相同点,则不需要画图
		return;
	}
	ii++;
	
	renderLastPoint(lastPoint);
	
},t30);

</script>

分享到:
评论

相关推荐

    利用百度地图实现路书实时轨迹边走边划

    本篇文章将深入探讨如何利用百度地图API实现“路书实时轨迹边走边划”的功能。 首先,我们需要理解“路书”和“实时轨迹”的概念。路书通常是指一种详细的路线规划,包括途经点、行驶方向、距离等信息,为驾驶员或...

    使用百度地图JavaScript API 画轨迹,给出自定义图标和标注

    在本文中,我们将深入探讨如何使用百度地图JavaScript API 来绘制轨迹,并添加自定义图标和标注。这是一项在Web开发中常用于地理位置展示和分析的重要技术。首先,我们需要理解百度地图API的基础概念及其核心功能。 ...

    百度地图运动轨迹 车辆行驶轨迹

    在IT行业中,尤其是在地理信息系统(GIS)和Web开发领域,"百度地图运动轨迹 车辆行驶轨迹"是一个常见的应用场景。这个主题涉及到如何利用百度地图API来追踪和展示车辆的行驶路径,通常用于物流监控、交通管理或者...

    利用百度地图API实现在地图车辆的平滑移动,轨迹回放,多台车辆同时平滑移动

    在IT行业中,地图API的使用...通过学习和理解这段代码,你可以掌握如何结合百度地图API和JavaScript,打造具有实时车辆跟踪、轨迹回放等功能的地图应用。这不仅对提升个人技能有帮助,也为实际项目提供了有价值的参考。

    基于百度地图实现的轨迹回放

    在Web端实现轨迹回放,主要利用百度地图JavaScript API。开发者可以使用Map对象创建地图实例,Marker对象表示轨迹点,Polyline对象绘制轨迹线。通过定时器控制动画流程,根据时间戳更新Marker的位置,同时更新...

    javascript百度地图行驶轨迹、车辆跟随路径移动并变化方向

    javascript百度地图行驶轨迹、车辆跟随路径移动并变化方向,只需传入起点和终点坐标即可模拟车辆导航,真实导航需要再进行定位,将定位的坐标点实时传入,稍微改动即可

    百度地图API记录轨迹和里程Javascript版html

    在本文中,我们将深入探讨如何使用百度地图API在JavaScript环境下记录轨迹和计算里程。百度地图API是一个强大的工具,它提供了丰富的地图服务,包括定位、地图展示、路线规划、地理编码等,非常适合开发者进行Web...

    百度地图api 轨迹回放

    在本文中,我们将深入探讨如何使用百度地图API实现轨迹回放功能。百度地图API是一个强大的工具,它允许开发者集成地图功能到网页应用中,包括显示地图、定位、路径规划等。在JavaScript环境下,我们可以利用其...

    Echart+百度地图实现个人轨迹

    在本项目中,我们利用ECharts这一强大的JavaScript数据可视化库,结合百度地图API,来实现个人轨迹的可视化展示。ECharts是由百度开发的一款基于Canvas的开源图表库,它提供了丰富的图表类型,精美的视觉效果以及...

    百度地图 多点连线 轨迹移动

    百度地图 多点连线 轨迹移 动

    通过百度地图api获取运行轨迹

    【标题】"通过百度地图API获取运行轨迹"涉及的关键知识点主要集中在使用百度地图服务来追踪和展示移动对象的路径。百度地图API是一个强大的工具,它提供了丰富的地理信息系统(GIS)功能,包括地图显示、定位、路线...

    调用百度地图API显示虚线运动轨迹

    本文将深入探讨如何利用百度地图API来显示虚线运动轨迹。百度地图API提供了丰富的功能,包括地图展示、定位、路线规划以及自定义标注等。对于初次接触百度地图API的开发者,通过实例学习是快速上手的有效途径。 ...

    echarts+百度地图实现个人轨迹-点随线顺序移动

    ECharts可以通过CDN链接或者下载到本地引入,而百度地图API则需要在百度地图开放平台注册并获取API密钥,然后将密钥添加到引用的JS文件中。 接下来,我们创建一个ECharts实例,并配置地图类型为百度地图。这需要...

    百度地图显示多点坐标并连线显示用户轨迹

    读取移动端存入数据库的坐标位置信息显示在百度地图上并连线显示用户轨迹。 程序为mysql数据库,location.sql为数据库导出文件 数据库连接信息见BaiduMap\src\com\pandora\db\SqlConnection.java 运行环境:...

    高德地图-实时导航,路径轨迹显示

    在IT行业中,尤其是在移动应用开发领域,高德地图是一款广泛使用的地图服务,它提供了丰富的功能,包括实时导航和路径轨迹显示。这篇文档将深入探讨这些关键知识点,以便开发者理解和实现类似的功能。 首先,我们来...

    百度地图JavaScriptAPI离线版本.zip

    1. **百度地图JavaScript API**:它是一套用于开发基于Web的地图应用的接口,提供了丰富的地图功能,如地图展示、标注、信息窗口、地理编码、轨迹绘制等,开发者可以通过调用这些接口在网页中实现地图交互。...

    百度地图画轨迹

    "百度地图画轨迹"就是这样的一个功能,它允许用户记录并展示在地图上的运动路径,比如跑步、骑行或者驾车路线。这个功能在健身应用、物流跟踪、旅行分享等场景下都有着广泛的应用。下面将详细讲解如何实现这一功能,...

    百度地图轨迹回放

    在压缩包子文件"baidu"中,可能包含了百度地图API的示例代码、配置文件以及相关的JavaScript库,用于演示如何集成轨迹回放功能到自定义应用中。开发者可以通过解析这些文件,学习如何调用百度地图API,设置轨迹参数...

    百度地图多个坐标连成轨迹

    标题“百度地图多个坐标连成轨迹”涉及到的是在网页中使用百度地图API来实现多个坐标点之间的连线,形成一条连续的轨迹。这种技术通常应用于路径规划、运动轨迹记录或者地理信息系统(GIS)等领域。下面将详细讲解...

    百度JSAPI显示虚线运动轨迹

    本文将深入探讨如何利用百度地图API来实现虚线运动轨迹的显示,这是一项实用的技术,可以帮助用户直观地理解物体或人的移动路径。我们将讨论相关的API接口、参数设置以及实际的代码实现。 首先,我们要了解百度地图...

Global site tag (gtag.js) - Google Analytics