公交搜索参数设置
此示例讲述如何设置搜索参数。搜索从西单到搜狐网络大厦,的乘车路线。并显示在地图上。
请求参数说明
下面是请求对象的所有属性。更改这些属性值,进行相关检索。
| 属性 | 类型 | 说明 |
|---|---|---|
map |
Map |
进行搜索的地图实例 |
renderer |
BusRenderer |
结果渲染对象。如果设置此参数,将在线路查询结果之后。将结果渲染到结果区。 |
avoid |
Number |
0为默认值,不避开。1为避开地铁。可选 |
destination |
String | Point | LatLng |
必选。查询的目的地。建议使用精确坐标查询。 |
origin |
String | Point | LatLng |
必选。查询的起始点。建议使用精确坐标查询。 |
tactic |
Number |
可选。8:时间排序(按时间从少到多排序),默认。 2:按换乘次数由少到多 (按换乘次数从少到多排序)4:按步行距离排序(按步行距离从少到多排序) |
maxResultCount |
Number |
默认为10条。返回换乘方案条数上限。 可选 |
maxDist |
Number |
最大的步行距离。可选 |
关键代码
var bRender=new sogou.maps.BusRenderer();
var request={ //这个对象是搜索的关键。在此处设置公交检索参数。
'map':map, //Map
'avoid':1, //避开地铁
'destination':'搜狐网络大厦',//new Point(12949535.945308747,4836604.4296875), //目标位置。可将此项指定为要进行地址解析的字符串或 LatLng或者为搜狗地图坐标。必填。
'origin':'西单', //原点的位置。可将此项指定为要进行地址解析的字符串或 LatLng或者为搜狗地图坐标。必填。
'maxDist':1000//最大的步行距离
}
var bus=new sogou.maps.Bus();
bus.route(request);
bus.setRenderer(bRender);
代码解析
首先要先初始化一个公交实例,设置请求参数。调用route方法。
var bus=new sogou.maps.Bus();
var request={
'map':map, //Map
'avoid':1, //避开地铁
'destination':'搜狐网络大厦',//new Point(12949535.945308747,4836604.4296875), //目标位置。可将此项指定为要进行地址解析的字符串或 LatLng或者为搜狗地图坐标。必填。
'origin':'西单', //原点的位置。可将此项指定为要进行地址解析的字符串或 LatLng或者为搜狗地图坐标。必填。
'maxDist':1000//最大的步行距离
}
bus.route(request);
接下来将查询结果显示到地图上,需要先初始化搜索渲染类。再调用公交的setRenderer方法,进行结果渲染。
var bRender=new sogou.maps.BusRenderer(); bus.setRenderer(bRender);
完整代码
<!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" />
<title>指定起终点公交搜索</title>
<style type="text/css">
#map{position:absolute;width:600px; height:600px;}
</style>
<script type="text/javascript" src="http://api.go2map.com/maps/js/api_v2.5.1.js"></script>
</head>
<body>
<div id="map" ></div>
</body>
<script>
var myLatLng = new sogou.maps.Point(12957062,4827187);
var myOptions = {
zoom: 10,
center: myLatLng
};
var map = new sogou.maps.Map(document.getElementById("map"), myOptions);
var bRender=new sogou.maps.BusRenderer();
var request={
'map':map, //Map
'avoid':1, //避开地铁
'destination':'搜狐网络大厦',//new Point(12949535.945308747,4836604.4296875), //目标位置。可将此项指定为要进行地址解析的字符串或 LatLng或者为搜狗地图坐标。必填。
'origin':'西单', //原点的位置。可将此项指定为要进行地址解析的字符串或 LatLng或者为搜狗地图坐标。必填。
'maxDist':1000//最大的步行距离
}
var bus=new sogou.maps.Bus();
bus.route(request);
bus.setRenderer(bRender);
</script>
</html>