百度地图开发

来源:互联网 发布:python 答题系统 编辑:程序博客网 时间:2024/06/14 12:16

以下方式皆有'投机取巧'的感觉,至少我查阅了很多资料((⊙﹏⊙)各种百度)都没找到很好地实现方式

一个是百度地图,根据坐标点画虚线。

另一个是同时回放多条轨迹路线,每条路线上的小车出发时间不同


主要思路就是隔一个点连一次线,这样显示的就是虚线了。如果是实时定位的情况,返回坐标比较均匀,可以这样做。在网上看到设置Polyline的属性值来实现虚线,但是在本地没实现,而且拿到百度地图官方api去试,也没有实验成功,才出此下策。

/*------------------实现--------------------------************************************************/

var point =[    
        new BMap.Point(116.346979,39.828646),new BMap.Point(116.344177,39.828716),
        new BMap.Point(116.342614,39.828827),new BMap.Point(116.34265,39.829976),
        new BMap.Point(116.34265,39.829976),new BMap.Point(116.342739,39.834825),
        new BMap.Point(116.343404,39.834811),new BMap.Point(116.343889,39.836113),
        new BMap.Point(116.342703,39.836071),new BMap.Point(116.342685,39.836445),
        new BMap.Point(116.336846,39.836487),new BMap.Point(116.330486,39.836473),
        new BMap.Point(116.326714,39.836542),new BMap.Point(116.319635,39.836681),
        new BMap.Point(116.319545,39.8388),new BMap.Point(116.319329,39.842553),
        new BMap.Point(116.319294,39.842553),new BMap.Point(116.315395,39.844838),
        new BMap.Point(116.313562,39.845933),new BMap.Point(116.310706,39.846916),
        new BMap.Point(116.304651,39.848855),new BMap.Point(116.302837,39.848411),
        new BMap.Point(116.302459,39.848328),new BMap.Point(116.301148,39.847982),
        new BMap.Point(116.299531,39.847788),new BMap.Point(116.297734,39.847691),
        new BMap.Point(116.295363,39.847401),new BMap.Point(116.292883,39.846916),
        new BMap.Point(116.292488,39.847996),new BMap.Point(116.294123,39.848592)
        ];

function drawPline(){

          for(var i=1;i<point_car.length-1;i=i+2){
                     drawPolyline(map,[point_car[i-1],point_car[i]]);
           }

}

function drawPolyline(bMap, points) {  
        bMap = map;
        if (points==null || points.length<=1) {  
            return;  
        }  
        
        bMap.addOverlay(new BMap.Polyline(points, {  
            strokeColor : "red",  
            strokeWeight : 3,  
            strokeOpacity : 1  
            
        })); // 画线  
    }  
/**********************end**********************************/


但是如果点太密或者点很少效果就不是太好了。希望解决了这个问题的大神提供更好解决办法。


第二个问题:同时回放多条轨迹路线,每条路线上的小车出发时间不同

首先这个还是用的定时器做的。最简单的那种http://blog.xiaoten.com/%E4%BD%BF%E7%94%A8%E7%99%BE%E5%BA%A6%E5%9C%B0%E5%9B%BEapi%E5%AE%9E%E7%8E%B0%E8%BD%A8%E8%BF%B9%E5%9B%9E%E6%94%BE.html

有一个最简单的代码。

从数据库取到的数据应该是时间跟坐标,实现思路是,先把最早出发的时间跟最晚到达时间找出。晚出发的车,在返回的坐标数组最开始补上一部分起点坐标,这样计时器刷新的时候,这辆车就是不动的。止于加多少,可以根据相对时间差自己规定个数。目前这还是个思路。。等实现了在贴代码,期待更好的解决办法。。

0 0
原创粉丝点击