1导入js

<script type="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript"src="http://dev.ditu.live.com/mapcontrol/mapcontrol.ashx?v=6.2"></script>

2代码

<script type="text/javascript">
var map = null;
var LA = new VELatLong(22.55,114.13);//初始化位置
var shape = null;
var pinPoint = null; 
var pinPixel = null;
var longitudeOffset = 0;
var latitudeOffset = 0;
var Counter = 0;
var nAppconfig = 0;
var pointcount = 0;
var point_lon = 0;
var point_lat = 0;
var pointss = new Array();
var vehlon =  0;
var vehlat = 0;
var upstations=new Array();
var downstations=new Array();
/*var blineshow = 0;
var bstationshow = 0;*/

//获得地图
function GetMap()
{
map = new VEMap('myMap');
map.LoadMap(LA, 11, VEMapStyle.Road, false, VEMapMode.Mode2D, true, 1);//初始化加载地图
var layer = new VEShapeLayer();
map.AddShapeLayer(layer);

var layer2 = new VEShapeLayer();
map.AddShapeLayer(layer2);

var layer3 = new VEShapeLayer();
map.AddShapeLayer(layer3);
}

//初始化地图和上先行红线 
function oninit()
{
 GetMap();//获得加载地图
 redLine();//红线轨迹
}

function ShowStation(parms)
{
var layer = map.GetShapeLayerByIndex(2);

var t = new Array();
t = parms.split(';');

for(var i=0;i<t.length;i++)
{
var tt = new Array();
tt=t[i].split(',');
x = Number(tt[4])+vehlon;
y = Number(tt[5])+vehlat;
pinPoint=new VELatLong(y, x);
station = new VEShape(VEShapeType.Pushpin, pinPoint);
station.SetTitle("<div style='border:solid 1px Red;background-color:#DCB5FF'><h3>站点名称:"+tt[2]+"</h3></div>");
station.SetDescription("<div style='font-size:12px;weight:100px;border:solid 1px Red;background-color:#DCB5FF'>线路:"+tt[0]+"路<br>站点编号:"+tt[1]+"<br>方向:"+tt[3]+"</div>");
station.SetCustomIcon("<img src='WebCarSymbol\\station.png'/>");
layer.AddShape(station);
}
}

function ShowWarning()
{
var wrn= document.getElementById("Warning").value;
clearShapes(3);
document.all.bgs.src="";
var layer = map.GetShapeLayerByIndex(3);
if(wrn!="")
{
document.all.bgs.src="WebCarSymbol\\warning.WAV"; 
var vv = new Array();
vv=wrn.split('|');
for(var i=0;i<vv.length-1;i++)
{
var vvv =new Array();
vvv=vv[i].split(';');
        }
    }
}
 
//reload bus 
function ReloadMapShapes(e)
{
try
{
clearShapes(0);
var level = map.GetZoomLevel();
for(var i=0;i<e.length;i++)      
{
AddPin(e[i]);
}
}
catch(e)
{
}
}

function offset(level)
{

switch(level)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
       vehlon =  0.005;
       vehlat = -0.0026;
break;
case 12:
       vehlon =  0.005;
       vehlat = -0.0026;
break;
case 13:
       vehlon =  0.005;
       vehlat = -0.0026;
break;
case 14:
       vehlon =  0.005;
       vehlat = -0.0026;
break;
case 15:
       vehlon =  0.005;
       vehlat = -0.0026;
break;
case 16:
       vehlon =  0.005;
       vehlat = -0.0026;
break;
case 17:
       vehlon =  0.005;
       vehlat = -0.0026;
break;
}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
}

//清除图层
function clearShapes(layerindex)
{
try
{
switch(layerindex)
{
case 1:
var layer = map.GetShapeLayerByIndex(1);
layer.DeleteAllShapes();
break;
case 99:
map.DeleteAllShapes();
break;
default:
  map.DeleteAllShapes();
break;
}
}
catch(e)
{
}
}

function setMapZoomLevel()
{
var level = map.GetZoomLevel();
offset(level); 
if(level<12)
{
map.SetZoomLevel(12);
}
}
 
 
//设置每次居中
function setMapCenter(latitude,longitude)
{
map.SetCenter(new VELatLong(latitude, longitude));
}
        var curr=0;//当前循环下标
        var dataarray=null;//查询到的数据
        var timer=null;//定时器   
        var createNum=0;//序号
        function showlines(data,time){
          dataarray=data;
              timer= setInterval("showInterval()", time);//设置定时器 并调用函数
        }
        function settimespeed(time){
        timer= setInterval("showInterval()", time);//设置定时器 并调用函数
        }
        
        //画线
       function ShowLine(e,index,remark)
{  
try
{
var level = map.GetZoomLevel();
offset(level);
var layer = map.GetShapeLayerByIndex(2);
var points=new Array();
offset(level);
 
for(var i=0;i<index;i++)
{   
var x = Number(e[i].o_LONGITUDE)+vehlon;  
var y = Number(e[i].o_LATITUDE)+vehlat;
points[i]=new VELatLong(y, x);
}
polyline = new VEShape(VEShapeType.Polyline, points);
if(null!=e[index].stlcu){//有设置轨迹线颜色
if(remark==1){
  if(e[i].o_DIRECTION==0){//上行
  setcolor(e[index].stlcu);  
  setMapCenter(e[index].o_LATITUDE,e[index].o_LONGITUDE);//每次画最后一个点都居中显示
}else{//下行
  setcolor(e[index].stlcd); 
  setMapCenter(e[index].o_LATITUDE,e[index].o_LONGITUDE);//每次画最后一个点都居中显示
}
}else{
   if(e[i].o_DIRECTION==0){//上行
  setcolor(e[index].stlcru);  
  setMapCenter(e[index].o_LATITUDE,e[index].o_LONGITUDE);//每次画最后一个点都居中显示
}else{//下行
  setcolor(e[index].stlcrd); 
  setMapCenter(e[index].o_LATITUDE,e[index].o_LONGITUDE);//每次画最后一个点都居中显示
}
   
}
}else{//设置默认颜色
  if(remark==1){
  if(e[i].o_DIRECTION==0){//上行
  polyline.SetLineColor(new VEColor(255,0,0,1.0));//没有设置画线颜色
  setMapCenter(e[index].o_LATITUDE,e[index].o_LONGITUDE);//每次画最后一个点都居中显示
}else{//下行
  polyline.SetLineColor(new VEColor(0,150,100,1.0));
  setMapCenter(e[index].o_LATITUDE,e[index].o_LONGITUDE);//每次画最后一个点都居中显示
}
}else{
   polyline.SetLineColor(new VEColor(0,250,100,1.0)); 
}
}
polyline.SetLineWidth(3);
polyline.HideIcon();
layer.AddShape(polyline); 
if(remark==0){
  AddPin(e[index]); //添加图标
  setMapCenter(e[index].o_LATITUDE,e[index].o_LONGITUDE);//每次画最后一个点都居中显示
}
}
catch(e)
{

}
}

function setcolor(colorval){
if(colorval=="red"){
polyline.SetLineColor(new VEColor(255,0,0,1.0));//设置画线颜色red
}else if(colorval=="dgreed"){
    polyline.SetLineColor(new VEColor(0,150,100,1.0));//设置画线颜色深绿
}else if(colorval=="lgreed"){
    polyline.SetLineColor(new VEColor(0,250,100,1.0)); //设置画线颜色浅绿
}else{
   polyline.SetLineColor(new VEColor(51,92,255,1.0));//设置画线颜色blue
}
}
       //添加图标
function AddPin(e)
{
var longitude = Number(e.o_LONGITUDE)+longitudeOffset+vehlon;
var latitude = Number(e.o_LATITUDE)+latitudeOffset+vehlat;
pinPoint=new VELatLong(latitude, longitude); 
shape = new VEShape(VEShapeType.Pushpin, pinPoint);
shape.SetTitle("车辆编号:"+e.o_BUSNO+"");
shape.SetDescription("<div style='font-size:12px;border:solid 1px Red'>线路:"+e.o_LINENAME+"路<br/>经度:"+e.o_LONGITUDE+"<br/>纬度:"+e.o_LATITUDE+"<br/>速度:"+e.o_speed+"km/h<br/>运行方向:"+((e.o_DIRECTION==0)?"上行":"下行")+"<br/>经过站点:"+((e.o_STATIONNO==null)?"":e.o_STATIONNO)+"</div>");
if(e.o_DIRECTION==0)
{
shape.SetCustomIcon("<img src='../../frame/images/maps/WebCarSymbol/go/"+Number((((e.o_ANGLE%360)|0)/10 |0))+".png'/><br><div style='font-size:8px;border:solid 1px red;background-color:yellow;width:40px;height:20px;align:center'><font color='#EA0000'>"+e.o_BUSNO+"</font></div>");
}
else 
{
shape.SetCustomIcon("<img src='../../frame/images/maps/WebCarSymbol/back/"+Number((((e.o_ANGLE%360)|0)/10 |0))+".png'/><br><div style='font-size:8px;border:solid 1px #0072E3;background-color:yellow;width:40px;height:20px;align:center'><font color='#0072E3'>"+e.o_BUSNO+"</font></div>");

map.AddShape(shape);
createNum++;
var html="<tr οnclick=showpoint("+e.o_LATITUDE+","+e.o_LONGITUDE+"); οnmοuseοut=this.style.backgroundColor='white'; οnmοuseοver=this.style.backgroundColor='#E3E3A4'><td>"+createNum+"</td><td>"+e.o_TIME+"</td><td>"+e.o_LONGITUDE+"</td><td>"+e.o_LATITUDE+"</td><td>"+((e.o_STATIONNO==null)?"未知":e.o_STATIONNO)+"</td><td>"+((e.o_DIRECTION==0)?"上行":"下行")+"<td>"+e.o_speed+"</td></td></tr>";
$("#showdata").append(html);
}

function showInterval(){
        if(dataarray==null){
           return ;
        }
       
           if(curr>=dataarray.length-1){
               ShowLine(dataarray,curr,0);//行驶轨迹
               alert("播放完毕!");
            stop();
            return;
           }else{
             var level = map.GetZoomLevel();
           clearShapes(level);
           
           }
           ShowLine(upstations,upstations.length-1,1);//正常轨迹
                ShowLine(downstations,downstations.length-1,1);
           ShowLine(dataarray,curr,0);
           ++curr;
        }
        
        //暂停
             function stop(){
            if(timer!=null){
               window.clearInterval(timer);
                }
             }
             
             //取消
             function resetstop(){
                curr=0;
            stop();
                createNum=0;//序号
            timeer=null;
            var level = map.GetZoomLevel();
            clearShapes(level);
            $("#pl").css("background", "url('js/play.png')");
                $("#pl").css("background-repeat","no-repeat");
                $("#pl").val(0);
             }
             
             //开始播放
             var pans=0;
             var panavg=0;
             function starts(remark){
                  if($("#pl").val()==0){
                    $("#pl").css("background", "url('js/stop.png')");
                    $("#pl").css("background-repeat","no-repeat");
                    $("#pl").val(1);
                  }else{
                   $("#pl").css("background", "url('js/play.png')");
                      $("#pl").css("background-repeat","no-repeat");
                      $("#pl").val(0);
                      stop();
                      return;
                  }
                  if(curr==0){
                  $("#showdata").find("tr:gt(0)").remove();
                  }
                  alert( $("#plan").val());
                  $("#plan").val(20); 
             var bus=$("#busno").val();
             var dates=$("#datetime").val();
             var begintime=$("#begintime").val();
             var endtime=$("#endtime").val();
             var speed=$("#speed").val()*200;
             $.post("teeee_eee",{"ptb.O_BUSNO":bus,"ptb.O_DATE":dates,"ptb.begintime":begintime,"ptb.endtime":endtime},function(data){
                  if(data.length>0){
                    showlines(data,speed);
                    panavg=data.length/100;
                  }else{
                     $("#pl").css("background", "url('js/play.png')");
                     $("#pl").css("background-repeat","no-repeat");
                     $("#pl").val(0);
                     alert("没有数据进行播放!");
                  }
            });
             }
             
             //
       function showpoint(la,lo)
{
var longitude = Number(lo)+longitudeOffset+vehlon; 
var latitude = Number(la)+latitudeOffset+vehlat;
pinPoint=new VELatLong(latitude, longitude); 
shape = new VEShape(VEShapeType.Pushpin, pinPoint);
map.AddShape(shape);
map.SetCenter(new VELatLong(la, lo));
}

//jQuery(function() {
      // jQuery.fn.CloneTableHeader("showdata", "div1");
    //});
    
    
    //划红线上下行 
    function redLine(){
         var line=$("#linesno").val();
    $.post("tttt_wwww",{"ptb.o_LINENO":line},function(data){
                  if(data.length>0){
                      upstations=data[0];
                      downstations=data[1];
                      ShowLine(upstations,upstations.length-1,1);
                      ShowLine(downstations,downstations.length-1,1);
                  }else{
                     alert("没有画正常轨迹线数据!");
                  }
            });
    }
    
      //

--------打印地图

@media print {
#btnprint {
display: none;
}
#myMap {
display: block;
}
}

var map  = null;
         var shape = null;
         var pinCenter = null; 
         function PrintMap()
         {
            var printOpt = new VEPrintOptions(true);
            map.SetPrintOptions(printOpt);
            window.print();

}

bing地图车辆轨迹回放代码相关推荐

  1. 使用百度地图实现车辆轨迹回放

    最近在做的项目有个车辆轨迹回放需求,查资料看到可以使用百度地图的路书功能实现,百度路书功能如下. 点击开始按钮,小车会在地图上移动还原历史轨迹. 具体需求就是通过调用后台接口获取到指定车辆的指定时间段 ...

  2. 高德地图3D轨迹回放 + 视野跟随功能

    高德地图3D轨迹回放 + 视野跟随功能 概述 代码实现步骤 完整代码 (需要添加一个2.0的key) 概述 若有帮助到你,麻烦点一波关注,博主会持续推出Echarts,D3,地图,Three.js方面 ...

  3. android 基于高德地图的轨迹回放

    android 基于高德地图的轨迹回放 前段时间公司项目有一个需求,就是需要看到设备上传之后的轨迹路线,并且可以实现回放的整个过程,功能包括路线回放.地图位置插点.回放之后的轨迹标记颜色.回放加速等功 ...

  4. 使用腾讯地图API完成车辆轨迹回放,同时能模拟真实的速度和方向

    产品需求: 根据能够回放出来车辆的运行轨迹路线.运行方向和速度. 需求分析: 1.首先因为是Web网页端的功能,所以需要用到的是地图模块的API,可以选择百度地图或者腾讯地图. 2.由于需要位置信息, ...

  5. 车辆轨迹回放中如何实现轨迹信息表格的自动滚动?

    TSINGSEE青犀视频目前正在研发基于车载视频监控的新功能,包括轨迹跟踪.轨迹回放等.轨迹跟踪适用于车载监控场景,基于车内的车载监控装置,可以实时记录车辆的位置.行驶轨迹等信息,并且在轨迹回放中,能 ...

  6. js室内地图开发_如何使用JS来开发室内三维地图的轨迹回放功能

    在制作完成室内三维地图的功能后,最经常有的需求就是如何做人员的轨迹回放,一般流程都是从数据库中查询轨迹坐标后,经过后台查询接口返回给前端,接下来的事情都交给JS来完成. 如果想做好一个性能好的轨迹回放 ...

  7. 小程序实现轨迹回放代码

    小程序实现轨迹回放 以下只是实现轨迹回放的步骤和部分的主要代码,其他数据类的我就跳过了,我是用小程序的translateMarker方法来实现轨迹回放. 创建 map 上下文 MapContext 对 ...

  8. 百度地图的轨迹回放和实时监控

    最近写了两个页面,是跟百度地图有关的,本来以为是用的鹰眼的轨迹,才发现没那么麻烦,直接用的是百度地图自带的api. 1 轨迹回放 <template><div class=" ...

  9. Vue项目引用高德地图实现车辆轨迹回放

    一.引入高德地图jsApi 在项目入口index.html页面以cdn方式引入 <script src="https://webapi.amap.com/maps?v=1.4.15&a ...

最新文章

  1. win7 php 上传文件,在LNMP原来的基础上,win7环境下如何上传PHP文件到Linux环境下...
  2. security center拒绝访问_Steam被曝出0day提权漏洞,但厂商拒绝修复
  3. 老鸟对菜鸟的一些建议
  4. Firefox上打开的标签页太多怎么办?
  5. Linux Shell变量使用
  6. WebServce之拦截器
  7. (7)数据结构-基本队列实现
  8. esp32之arduino配置下载提速
  9. 设计模式小例子理解封装、继承、多态
  10. Windows XP虚拟机到期无法使用的解决方案(救急版)
  11. 未来教育计算机二级第十八套ppt,未来教育.ppt
  12. Swift游戏实战-跑酷熊猫 09 移除场景之外的平台
  13. Linux之ARM(IMX6U)裸机主频和时钟配置
  14. 三星矫情,重温Galaxy S5发布会收买人心
  15. 手机 长按删除 html5,移动端长按删除
  16. 什么是异地双活及应用场景
  17. VS-c++播放声音
  18. python作业:有一个学生成绩表,包括学号、姓名、高数、英语,计算机。 录入若干个学生学号、姓名、高数、英语,计算机5项数据。 将学生成绩表数据写入文件,文件名为“学生成绩表.txt
  19. 初看一脸问号,看懂直接跪下
  20. 【数论】斐波那契数列求和公式

热门文章

  1. 时间协议ntp服务器,NTP网络时间协议(HP_UX)
  2. js原生DOM属性值查找 getAttribute,设置setAttribute,移除removeAttribute
  3. contenteditable属性将标签变为可编辑状态,可用于在线编辑修改文本
  4. vueCli脚手架搭建和文件详解(超详细保姆级教学)
  5. 【汇正财经】短线交易和内幕交易有什么区别?
  6. IT行业项目管理软件,你知道多少?
  7. PHPMailer不能连接SMTP服务器的两种常见原因(Could not connect to SMTP host)
  8. HTML5标准成形:浏览器竞争会消停吗?
  9. 几种设计模式意图或优势总结
  10. 浪潮java笔试大题