导航接口(Navi API)

   功能  接口方式  JavaScript使用方法  Http + XML使用方法  类参考

功能

导航接口(Navi API)是我要地图网新推出一个接口,利用该接口,您就可以为用户提供轻松驾驶导航的功能。

返回顶部

接口方式

JavaScript 和 http + xml

返回顶部

JavaScript使用方法

引入JS

<script language="javascript" src="http://api.51ditu.com/js/navigate.js"></script>

开始使用

实现简单的驾驶导航

利用驾驶导航(Navigate API)接口,可以方便的计算出起点和终点之间导航的路程,可以获取导航路程上的相关细节信息。通过设置一个起点和一个终点,并传递相关的经纬度可以得到导航的结果,结合Search API可以更好地得到起点和终点的相关信息。

<script language="javascript">

function run(resultObj){

var obj = resultObj;

var cityAndPlace = "从\""+obj.getStartCity()+"\"的\""+obj.getStartPlace()+"\"到\""+obj.getEndCity()+"\"的\""+obj.getEndPlace()+"\"导航结果是:";

alert(cityAndPlace);

var kpoints = obj.getKeyPoints();

var result = "";

for(var i=0;i<kpoints.length;i++){

result += "经度:"+kpoints[i][0].getLongitude()+",纬度:"+kpoints[i][0].getLatitude()+",描述:"+kpoints[i][1]+";\n";

}

alert(result);

}

var obj = new LTNavigate(run);//创建一个驾驶导航对象

obj.setFrom("北京","国贸",new LTPoint(11645557,3990706));

obj.setTo("北京","中关村",new LTPoint(11630983,3998549));

obj.navigate();

</script>

将导航的结果的显示在地图上

<table cellpadding="10" cellspacing="0" border="1" style="width:100%; line-height:20px;">

<tr><td style="width:640px;"><div id="maps" style="width:640px; height:480px; border:red solid 1px;"></div>

</td>

<td id="posInfo" valign="top"></td>

</tr>

</table>

<script language="javascript">

var maps = new LTMaps("maps");

maps.cityNameAndZoom("beijing",5);

maps.addControl( new LTStandMapControl() );

var info = new LTInfoWindow();

function run(resultObj){

var obj = resultObj;

var roads = obj.getRoadTrack();

var line = new LTPolyLine(roads);

maps.addOverLay(line);

var kpois = obj.getKeyPoints();

for(var i=0;i<kpois.length;i++){

createLink(kpois[i],i+i);

}

}

function createLink(obj,num){

var o = obj;

var miaoshu=o.getDescription();

var lin = document.createElement("A");

lin.innerHTML = num+"、"+miaoshu;

lin.onclick = function(){

move2Center(o.getPoint(),miaoshu);

}

document.getElementById("poisInfo").appendChild(lin);

document.getElementById("poisInfo").appendChild(document.createElement("BR"));

}

function move2Center(p,ifo){

maps.moveToCenter(p);

info.setPoint(p);

info.setLabel(ifo);

maps.addOverLay(info);

}

var obj = new LTNavigate(run);//创建一个驾驶导航对象

obj.setFrom("北京","国贸",new LTPoint(11645557,3990706));

obj.setTo("北京","中关村",new LTPoint(11630983,3998549));

obj.navigate();

</script>

点击查看例子

返回顶部

Http + XML使用方法

Http + XML方法,是指用户采用Http协议的get或post方法提交参数,服务器采用XML格式返回结果的方法。

用户输入参数

输入示例
http://ip:port/mosp/rc?city=北京市&start=lo,la&end=lo,la&type=1&wp=lo0,la0;lo1,la1…
参数说明:

参数名称

类型

必选

默认值

描述

city

字符串

NO

全国

路径计算所在城市

如果路径计算的起始点和终点在同一个城市,city为该城市名称

如果不在同一个城市,city为“全国”或空

start

字符串

YES

Null

路径计算起点

起点包含经度和纬度,中间采用逗号隔开

经、纬度各自的值是整型

经度范围(7312667,13521180)

纬度范围(1812810,5515600)

end

字符串

YES

Null

路径计算终点

终点包含经度和纬度,中间采用逗号隔开

经、纬度各自的值是整型

经度范围(7312667,13521180)

纬度范围(1812810,5515600)

type

整型

NO

1

路径计算方式

1:省时

2:省钱

wp

字符串

NO

Null

途经点

如果希望在路径计算的过程中,必须经过某些点,可在此设置

途经点可以没有,也可以为多个

格式:由多个点组成,点与点之间用分号隔开,每个点的经、纬度用逗号隔开

经、纬度范围见起点或终点的范围

服务器返回结果

<?xml version="1.0" encoding="UTF-8"?>

<R Dis="总路程(公里)" Time="时间">

<!-- 路段 -->

<RSS>

<RS Na="路段名称" Type="路段类型"/>

</RSS>

<!-- 关键点 -->

<KPS>

<KP>

<Nav="关键点名称"/>

<P lo="经度" la="纬度"/>

<ND v="到下一个关键点的距离"/>

<RT v="到达类型"/>

<TT v="转向类型"/>

<ChN v="路名是否改变"/>

</KP>

</KPS>

<!-- 所有经过的点 -->

<PS>

<P lo="经度" la="纬度"/>

</PS>

</R>

出错定义

当系统在进行路径计算是发生错误时,将返回以下格式内容:

<?xml version="1.0" encoding="UTF-8"?>

<Error>错误描述</Error>

返回顶部

使用方法

此功能提供给收费用户使用,如需使用,请到http://api.51ditu.com与商务人员联系。

返回顶部