您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
百度地图javascript接口开发-获取公交线路
发布时间:2016-11-20 14:25:27编辑:雪饮阅读()
获取公交线路方案示例:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style type="text/css">
html{height:100%;}
body{height:100%;margin:0px;padding:0px;}
#container{
clear:both;
height:100%;
width:100%;
}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=s9vYSVwPjtPFv00vuxKzoNxD"></script>
<script type="text/javascript">
BMap.Point.prototype.toString=function(){
return "当前的经度="+this.lng+",纬度="+this.lat;
}
BMap.Pixel.prototype.toString=function(){
return "当前点坐标x="+this.x+",y="+this.y;
}
var map;
var allpoints=[];
function InitMap(){
map=new BMap.Map("container");
var point=new BMap.Point(104.06,30.67);//成都的经纬度点
map.centerAndZoom(point,12);
map.enableScrollWheelZoom();
//公交线路查询
var transitRouteOptions={
renderOptions:{
map:map,
panel:document.getElementById("result"),
selectFirstResult:true,
autoViewport:true,
highlightMode:BMAP_HIGHLIGHT_STEP
},
pageCapacity:6,
policy:BMAP_TRANSIT_POLICY_LEAST_WALKING,//策略参数,这里选择的值是“最少步行”
onMarkersSet:function(){
//alert('onMarkersSet');
},
onInfoHtmlSet:function(){
//alert('infoHtmlSet');
},
onResultsHtmlSet:function(){
//alert("onResultsHtmlSet");
},
onSearchComplete:function(result){
alert("弹出");
//alert('onSearchComplete');
console.log("公交导航策略:"+result.policy);
console.log("检索所在的城市:"+result.city);
console.log("方案个数:"+result.getNumPlans());
for(var i=0;i<result.getNumPlans();i++){
var routePlan=result.getPlan(i);
console.log("第"+(i+1)+"个方案的总距离:"+routePlan.getDistance());
console.log("第"+(i+1)+"个方案的总时间:"+routePlan.getDuration());
console.log("第"+(i+1)+"个方案描述:"+routePlan.getDescription());
console.log("第"+(i+1)+"个方案总的公交线路数:"+routePlan.getNumLines());
console.log("第"+(i+1)+"个方案总的步行线路数:"+routePlan.getNumRoutes());
for(var j=0;j<routePlan.getNumLines();j++){
var line=routePlan.getLine(j);
console.log(line);
console.log(line.title+"途经车站的个数:"+line.getNumViaStops());
var points=line.getPath();
console.log("地理坐标点数组,在公交方案中的个数:"+points.length);
for(var pointIndex=0;pointIndex<points.length;pointIndex++){
var point=points[pointIndex];
allpoints.push(point);
}
}
}
},
onPolylinesSet:function(){
//alert('onPolylinesSet');
}
};
var point1=new BMap.Point(104.133266,30.686865);
var point2=new BMap.Point(104.037974,30.642382);
var transitRoute=new BMap.TransitRoute(map,transitRouteOptions);
//定义起点与终点查询
//transitRoute.search(point1,point2);
//模糊起点与准确终点查询
transitRoute.search("红星路",point2);
//模糊起点与模糊终点查询(会出现两次查询)
//transitRoute.search("红星路","万年场");
map.clearOverlays();
map.addEventListener("click",function(event){
//console.log(event.point);
});
setTimeout(draw,5000);
//公交线路查询结束
}
function draw(){
//所有方案关键点的绘制
for(var i=0;i<allpoints.length;i++){
var marker=new BMap.Marker(allpoints[i]);
map.addOverlay(marker);
}
}
</script>
</head>
<body onLoad="InitMap();">
<div id="container"></div>
<div id="result"></div>
</body>
</html>
关键字词:百度地图api,javascript