time 
设为首页】【收藏本站
当前位置: 主页 > JavaScript > 其它JS框架 > 【百度地图API】小学生找哥哥——小学生没钱打车,所以此为公交查询功能

【百度地图API】小学生找哥哥——小学生没钱打车,所以此为公交查询功能

时间:2011-03-22 23:09 点击:652次 字体:[ ]




任务描述:

  有位在魏公村附近上小学的小朋友,要去北京邮电大学找哥哥。他身上钱很少,只够坐公交的。所以,百度地图API快帮帮他吧!

 

如何实现:

  把地图中心定在魏公村,在视野范围内搜索小学。

  搜索完毕后,点击出现的红色标注,在输入框中输入北京邮电大学,然后查询,即可得到公交路线图。

 

图示:

【百度地图API】小学生找哥哥——小学生没钱打车,所以此为公交查询功能_www.fengfly.com

 

 

代码:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="keywords" content="百度地图,百度地图API,百度地图自定义工具,百度地图所见即所得工具" />
<meta name="description" content="百度地图API自定义地图,帮助用户在可视化操作下生成百度地图" />
<title>小学生坐公交车</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?key=46ce9d0614bf7aefe0ba562f8cf87194&v=1.0&services=true">
</script>
</head>
<body>
<p><input id="txtSearch" type="text" value="小学" /><input type="button" value="查询" onclick="search()" /></p>
<div style="width:520px;height:340px;border:1px solid gray;float:left;" id="container"></div>
<div id="divResult" style="width:520px;height:340px;background:#efefef;float:left;"></div>
<p style="clear:both"><br />一个在魏公村附近念小学的朋友,想去北京邮电大学找哥哥。让百度地图API帮帮他吧~</p>
</body>
<script type="text/javascript">
var map = new BMap.Map("container");
map.centerAndZoom(
new BMap.Point(116.330599, 39.95536), 16);
var curTitle="";
function search()
{
var s=document.getElementById("txtSearch");
var ls=new BMap.LocalSearch(map,{pageCapacity:20});

//设置回调函数
ls.setSearchCompleteCallback(function(result){
map.clearOverlays();
//清除所有覆盖物

//自己添加对应的覆盖物
if(ls.getStatus()==BMAP_STATUS_SUCCESS)
{
//result为LocalResult类型
var curNum=result.getCurrentNumPois();
for(var i=0;i<curNum;i++)
{
//poi为LocalResultPoi类型
var poi=result.getPoi(i);
var lng=poi.point.lng;
var lat=poi.point.lat;
var title=poi.title;

var pt=new BMap.Point(lng,lat);

var marker=new BMap.Marker(pt);
marker.setTitle(title);

marker.addEventListener(
"click",fnClick(marker));

map.addOverlay(marker);
}
}
});
ls.searchInBounds(s.value,map.getBounds());
}
//为每个标注制定不同的回调函数
function fnClick(marker)
{
return function()
{
curTitle
=marker.getTitle();
var html=""+curTitle+"出发,坐<b>公交</b>到"+"<input id='txtDest' type='text' value='北京邮电大学' /><input type='button' value='查询' onclick='tSearch()' />";
var infoWin=new BMap.InfoWindow(html);
infoWin.addEventListener(
"open",function(){
//给输入框添加焦点
document.getElementById("txtDest").focus();
});
marker.openInfoWindow(infoWin);
}
}
//公交线路查询
function tSearch()
{
var ts=new BMap.TransitRoute(map,{
renderOptions:{
map:map,
panel:
"divResult"
}
});

if(curTitle.length>0)
{
var dest=document.getElementById("txtDest").value;
ts.search(curTitle,dest);
}
}
</script>
</html>


本文地址 : http://www.fengfly.com/plus/view-197327-1.html
标签: 百度地图 API 公交查询
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码: