我的代码是:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>标注沿折线运动</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script>
</head>
<body>
<div style="width:1320px;height:640px;border:1px solid gray" id="container"></div>
<input type='button' value='开始' onclick='run();' />
</body>
</html>
<script type="text/javascript" src="K_PointMover.js"></script>
<script type="text/javascript">
var map = new BMap.Map("container");
map.centerAndZoom(new BMap.Point(117.0993525,39.1213875), 15);
var myP1 = new BMap.Point(117.0993525,39.1213875); //起点
var myP2 = new BMap.Point(117.10295433333,39.122917); //终点
var myIconmove = new BMap.Icon("http://dev.baidu.com/wiki/static/map/API/examples/images/Mario.png", new BMap.Size(32, 70), {
//offset: new BMap.Size(0, -5), //相当于CSS精灵
imageOffset: new BMap.Size(0, 0) //图片的偏移量。为了是图片底部中心对准坐标点。
});
//var driving2 = new BMap.DrivingRoute(map, {renderOptions:{map: map, autoViewport: false}});
//驾车实例
//driving2.search(myP1, myP2);
//显示一条公交线路
var point = new BMap.Point(117.0993525,39.1213875);
var myIcon = new BMap.Icon("http://api.map.baidu.com/img/dest_markers.png",new BMap.Size(28, 32), {
offset: new BMap.Size(10, 25), imageOffset: new BMap.Size(0, 0) });
var myIcon2 = new BMap.Icon("http://api.map.baidu.com/img/dest_markers.png",new BMap.Size(28, 32), {
offset: new BMap.Size(-150, -205), imageOffset: new BMap.Size(0, -34) });
var point2 = new BMap.Point(117.10295433333,39.122917);
var marker = new BMap.Marker(point, {icon: myIcon}); // 创建标注
var marker2 = new BMap.Marker(point2, {icon: myIcon2}); // 创建标注
map.addOverlay(marker); // 将标注添加到地图中
map.addOverlay(marker2);
marker.setAnimation(BMAP_ANIMATION_DROP ); //跳动的动画
marker2.setAnimation(BMAP_ANIMATION_DROP ); //跳动的动画
var polyline = new BMap.Polyline([
new BMap.Point(117.0993525,39.1213875),
new BMap.Point(117.09937566667,39.1215155),
new BMap.Point(117.09997266667,39.121755666667),
new BMap.Point(117.10059883333,39.1219955),
new BMap.Point(117.10134866667,39.122307),
new BMap.Point(117.10244883333,39.12273),
new BMap.Point(117.10295433333,39.122917) ],{strokeColor:"blue", strokeWeight:3, strokeOpacity:0.5});
map.addOverlay(polyline);
window.run = function (){
var driving = new BMap.DrivingRoute(map); //驾车实例
driving.search(myP1, myP2);
driving.setSearchCompleteCallback(function(){
var pts = driving.getResults().getPlan(0).getRoute(0).getPath();
//通过驾车实例,获得一系列点的数组
pts = [
//创建7个点
new BMap.Point(117.0993525,39.1213875),
new BMap.Point(117.09937566667,39.1215155),
new BMap.Point(117.09997266667,39.121755666667),
new BMap.Point(117.10059883333,39.1219955),
new BMap.Point(117.10134866667,39.122307),
new BMap.Point(117.10244883333,39.12273),
new BMap.Point(117.10295433333,39.122917) ];
var paths = pts.length; //获得有几个点
//alert(pts.toString());
var carMk = new BMap.Marker(pts[0],{icon:myIconmove});
map.addOverlay(carMk);
i=0;
function resetMkPoint(i){
carMk.setPosition(pts[i]);
if(i < paths){
setTimeout(function(){
i++;
resetMkPoint(i);
},500);
}else{map.removeOverlay(carMk);}
}
setTimeout(function(){
resetMkPoint(0);
},800)
}); }
</script>