TransferServiceOptions 对象规范
公交换乘方案类参数。
属性
名称 | 类型 | 说明 |
---|---|---|
policy
|
TransferPolicy
|
公交换乘的策略。 |
location
|
String
|
公交换乘的区域范围。比如“北京”。 |
complete
|
Function
|
检索成功的回调函数。参数对象:{type:ServiceResultType.TRANSFER_INFO,detail:Object.<TransferInfo>}。 |
error
|
Function
|
检索失败的回调函数。参数:ServiceErrorType。 |
map
|
Map
|
展现结果的地图实例。 |
panel
|
String | HTMLDivElement
|
展现结果的HTML容器id或元素。 |
实例
本示例中,设置公交换乘方案服务属性
var center = new qq.maps.LatLng(39.916527, 116.397128); var map = new qq.maps.Map(document.getElementById("container"), { center: center }); //设置获取公交换乘线路方案的服务 var transferService = new qq.maps.TransferService({ //设置回调函数 complete: function(result) { if (result.type == qq.maps.ServiceResultType.MULTI_DESTINATION) { alert("起终点不唯一"); } }, //设置检索失败回调函数 error: function(data) { alert(data); }, //设置公交换乘的区域范围 location: "北京", //展现结果的地图实例 map: map, //展现结果 panel: document.getElementById('infoDiv') }); //设置搜索地点信息、乘坐方案等属性 function search() { var start = document.getElementById('start').value; var end = document.getElementById('end').value; var policy = document.getElementById("policy").value; //设置乘坐方案 transferService.setPolicy(qq.maps.TransferPolicy[policy]); //设置公交换乘的起点和终点 transferService.search(start, end); } window.onload = search;
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>公交线路搜索</title> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77"></script> <style type="text/css"> html, body { height: 100%; margin: 0px; padding: 0px } #container { width: 100%; height: 100% } #panel { position: absolute; top: 5px; left: 50%; margin-left: -180px; z-index: 5; background-color: #fff; padding: 5px; border: 1px solid #999; } </style> </head> <body> <div id="panel"> <b>起点: </b> <select id="start" onchange="search();"> <option value="北京南站">北京南站</option> <option value="银科大厦">银科大厦</option> <option value="清华大学">清华大学</option> </select> <b>终点: </b> <select id="end" onchange="search();"> <option value="王府井步行街">王府井步行街</option> <option value="天坛公园">天坛公园</option> <option value="地铁西单站">地铁西单站</option> </select> </select> <b>换乘策略:</b> <select id="policy" onchange="search();"> <option value="LEAST_TIME">较快捷</option> <option value="LEAST_TRANSFER">少换乘</option> <option value="LEAST_WALKING">少步行</option> <option value="NO_SUBWAY">不坐地铁</option> </select> </div> <div id="container" style="width:603px;height:300px"></div> <div style='width: 500px; height: 180px' id="infoDiv"></div> </div> <script> var center = new qq.maps.LatLng(39.916527, 116.397128); var map = new qq.maps.Map(document.getElementById("container"), { center: center }); //设置获取公交换乘线路方案的服务 var transferService = new qq.maps.TransferService({ //设置回调函数 complete: function(result) { if (result.type == qq.maps.ServiceResultType.MULTI_DESTINATION) { alert("起终点不唯一"); } }, //设置检索失败回调函数 error: function(data) { alert(data); }, //设置公交换乘的区域范围 location: "北京", //展现结果的地图实例 map: map, //展现结果 panel: document.getElementById('infoDiv') }); //设置搜索地点信息、乘坐方案等属性 function search() { var start = document.getElementById('start').value; var end = document.getElementById('end').value; var policy = document.getElementById("policy").value; //设置乘坐方案 transferService.setPolicy(qq.maps.TransferPolicy[policy]); //设置公交换乘的起点和终点 transferService.search(start, end); } window.onload = search; </script> </body> </html>