Navigation/route

跳转到: 导航, 搜索

目录

navigation/route

根据ID或坐标等进行查询,返回驾车路线信息

URL

http://api.t.sina.com.cn/location/navigation/route.(json%7Cxml)

支持格式

XML/JSON

HTTP请求方式

GET

是否需要登录

true

请求数限制

true

请求参数

参数 必选 类型及范围 说明
source true string 申请应用时分配的AppKey,调用接口时候代表应用的唯一身份。
注意:以两个参数至少选填一个
begin_id false string 起点的id(会覆盖begin_coordinate)
begin_coordinate false float 起点的坐标(经纬度用逗号分隔,若有id以id为准)
注意:以下两个参数至少选填一个
end_id false string 终点的id(会覆盖end_coordinate)
end_coordinate false string 终点的坐标(经纬度用逗号分隔,若有id以id为准)
注意:以下参数选填
type false int 查询类型(0:速度优先,1:费用优先,2:距离优先,默认为0)

返回结果

XML示例

<?xml version="1.0" encoding="UTF-8" ?> 
<?xml version="1.0" encoding="UTF-8" ?> 
<geoResult>
  <type>0</type> 
  <total>13</total> 
  <time>24</time> 
  <distance>16601</distance> 
  <drive_coordinates>116.22106,39.90652;116.22106,39.90594;......</drive_coordinates>
  <pass_coordinates /> 
  <start_coordinate>116.22106,39.90652</start_coordinate> 
  <end_coordinate>116.27505,40.00236</end_coordinate> 
  <extension_info>0</extension_info> 
  <roads>
   <road>
    <rid>1</rid> 
    <road_name>银河大街</road_name> 
    <coordinates>116.22106,39.90652;116.22106,39.90594</coordinates> 
    <begin_coordinate>116.22106,39.90652</begin_coordinate> 
    <end_coordinate>116.22106,39.90594</end_coordinate> 
    <road_length>64</road_length> 
    <action /> 
    <road_sign>行驶时间;等级方向;坐标点;道路名称;</road_sign> 
    <run_time>1</run_time> 
    <grade>主要道路</grade> 
    <direction>南</direction> 
    <assist_info /> 
    <navigation_tag /> 
   </road>
   ...
 </roads>
</geoResult>

JSON示例

{
 "type":0,
 "total":"13",
 "time":"24",
 "distance":"16601",
 "drive_coordinates":"116.22106,39.90652;116.22106,39.90594;......",
 "pass_coordinates":"",
 "start_coordinate":"116.22106,39.90652",
 "end_coordinate":"116.27505,40.00236",
 "extension_info":"0",
 "roads":[{
  "rid":"1",
  "road_name":"\u94f6\u6cb3\u5927\u8857",
  "coordinates":"116.22106,39.90652;116.22106,39.90594",
  "begin_coordinate":"116.22106,39.90652",
  "end_coordinate":"116.22106,39.90594",
  "road_length":"64",
  "action":null,
  "road_sign":"\u884c\u9a76\u65f6\u95f4;\u7b49\u7ea7\u65b9\u5411;\u5750\u6807\u70b9;\u9053\u8def\u540d\u79f0;",
  "run_time":"1",
  "grade":"\u4e3b\u8981\u9053\u8def",
  "direction":"\u5357",
  "assist_info":null,
  "navigation_tag":null}
  ...
 ]
}

字段说明

type:查询类型,标识当前的结果是距离优先、速度优先,费用优先;
total:此次驾车路线所经过的路段总数;
time:驾车时间;
distance:驾车距离;
drive_coordinates:驾车路线坐标
pass_coordinates:途经点坐标;;
start_coordinate:起点坐标;
end_coordinate:终点坐标;
extension_info:当前返回状态补充信息;
roads节点:该节点包含n个road节点
rid表示当前路段的id,是标识该路段;
road_name:当前路段名称;如北四环西路辅路;
coordinates:当前道路坐标信息;
begin_coordinate:该路段的第一个坐标;
end_coordinate:该路段的最后的一个坐标
road_length:表示当前路段的长度;
action:当前行驶动作,如“右转”进入...向...行驶;标识右转动作;
road_sign:道路标识;
run_time:在该路段运行时间;
grade:标识主要道路或次要道路等;
direction:标识当前路段后,向哪个方向行驶,如向“东”行行驶;
assist_info:标识当前是否有无辅助动作,是对action的一个补充;如右转后,到达出口再进入...向...行驶。 这里的“到达出口”即为辅助动作,如果没有辅助动作该标签内容为“无辅助动作”。又如“到达收费站”也为辅助动作;
navigation_tag :导航标签;


其它

PHP示例

需要开启PHP的cURL扩展

<?php
//改为你的微博账号,用户名和密码之间用:隔开
$userPwd = 'user@sina.com:pwd';
//改为你微博应用的appkey
$appkey = '0123456789';

$url = "http://api.t.sina.com.cn/location/navigation/route.xml?begin_coordinate=116.27505,40.00236&end_coordinate=116.355491,39.940484&type=0&source=$appkey";

$rst = curlSample($url,$userPwd);

echo $rst;

function curlSample($url,$userPwd,$postFields = '',$header = ''){
	$ch = curl_init() or die (curl_error()) ;
	curl_setopt($ch,CURLOPT_URL,$url);
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
	curl_setopt($ch,CURLOPT_TIMEOUT,30);
	if(!empty($userPwd)){
		curl_setopt($ch,CURLOPT_USERPWD,$userPwd);
	}
	if(!empty($postFields)){
		curl_setopt($ch,CURLOPT_POST,true);
		curl_setopt($ch,CURLOPT_POSTFIELDS,$postFields);
	}
	if(!empty($header)){
		curl_setopt($ch, CURLOPT_HTTPHEADER,$header);
	}
	$result = curl_exec($ch) or die (curl_error($ch));
	curl_close($ch);
	return $result;
}
?>
文档更新时间: 2012-09-24