使用GoogleMap的一些基础在这里不做介绍,下面主要介绍一下如何根据经纬度获取导航的路径信息:
导航的路径信息可以通过Http获取也可以通过Https获取;两者的url是相同的,不同的是https比http安全而已。
下面是获取的uil的格式:http://maps.googleapis.com/maps/api/directions/[json|xml]?[params];
- 有两种输出格式分别是json和xml;
- params如下:
-
- origin(必要)您要计算导航路径的起始位置,可以是地址或经纬度。
- destination (必要)您要计算导航路径的终止位置,可以是地址或经纬度。
- mode(选用,默认值:driving)指定计算导航时使用的交通模式。
-
driving
表示使用标准行车导航。 -
walking 要求使用人行道及行人步行导航。
-
bicycling 要求使用自行车导航。(只适用于美国)
-
- waypoints (选用) 指定导航路径要经过的地点。地点可以指定为经纬度坐标或可进行地理编码的地址。
- alternatives (选用)
true
时,表示请求导航的回应中提供一个以上的路线。这个可能延长服务器的请求耗时。 - avoid(选用) 表示导航路径要避开的地点。这个参数可以是下面的2个值︰
- tolls 表示路径避开收费站。
- highways 表示路径避开高速公路。
- units (选用)指定显示的单位。
- metric 使用标准单位,公里和公尺。
- imperial 使用英式单位,英里和英尺。
- region (选用)将区域代码指定为ccTLD([顶层网域])的两位字元值。
- language (选用)路径传回时使用的语言。如果系统不支持设置的语言,那么系统会使用浏览器设置的语言进行返回。
- zh-CN 简体汉语
- en-US 英语
- sensor (必要) 指出导航的请求设备是否附有位置感应器。这个值必须是 true 或 false。
以下是Google Directions API提供的2个URL的示例供参考:
- http://maps.googleapis.com/maps/api/directions/json?origin=Boston,MA&destination=Concord,MA&waypoints=Charlestown,MA|Lexington,MA&sensor=false
- http://maps.googleapis.com/maps/api/directions/json?origin=Adelaide,SA&destination=Adelaide,SA&waypoints=optimize:true|Barossa+Valley,SA|Clare,SA|Connawarra,SA|McLaren+Vale,SA&sensor=false
以上的例子是根据地点名称来获取导航路径的方式,下面说明如何使用经纬度的方式来获取导航路径:
示例:http://maps.googleapis.com/maps/api/directions/json?origin=37.458060333333336%2c118.49971400000001&destination=37.458260333333336%2c118.50971400000001&sensor=false
以上示例显示了从某个经纬度到另一个经纬度的导航的请求URL。 说明: 37.458060333333336%2c118.49971400000001中前边37.458060333333336表示纬度,后边118.49971400000001表示经度,而中间的%2c是一个分隔符,这个分隔符在URL编码表中表示的是','。
URL编码表如下:
backspace %08 | I %49 | v %76 | ó %D3 |
tab %09 | J %4A | w %77 | Ô %D4 |
linefeed %0A | K %4B | x %78 | Õ %D5 |
creturn %0D | L %4C | y %79 | Ö %D6 |
space %20 | M %4D | z %7A | Ø %D8 |
! %21 | N %4E | { %7B | ù %D9 |
" %22 | O %4F | | %7C | ú %DA |
# %23 | P %50 | } %7D | Û %DB |
$ %24 | Q %51 | ~ %7E | ü %DC |
% %25 | R %52 | ¢ %A2 | Y %DD |
& %26 | S %53 | £ %A3 | T %DE |
' %27 | T %54 | ¥ %A5 | ß %DF |
( %28 | U %55 | | %A6 | à %E0 |
) %29 | V %56 | § %A7 | á %E1 |
* %2A | W %57 | « %AB | a %E2 |
+ %2B | X %58 | ¬ %AC | ã %E3 |
, %2C | Y %59 | ˉ %AD | ä %E4 |
- %2D | Z %5A | o %B0 | å %E5 |
. %2E | [ %5B | ± %B1 | æ %E6 |
/ %2F | \ %5C | a %B2 | ç %E7 |
0 %30 | ] %5D | , %B4 | è %E8 |
1 %31 | ^ %5E | μ %B5 | é %E9 |
2 %32 | _ %5F | » %BB | ê %EA |
3 %33 | ` %60 | ¼ %BC | ë %EB |
4 %34 | a %61 | ½ %BD | ì %EC |
5 %35 | b %62 | ¿ %BF | í %ED |
6 %36 | c %63 | à %C0 | î %EE |
7 %37 | d %64 | á %C1 | ï %EF |
8 %38 | e %65 | Â %C2 | e %F0 |
9 %39 | f %66 | Ã %C3 | ñ %F1 |
: %3A | g %67 | Ä %C4 | ò %F2 |
; %3B | h %68 | Å %C5 | ó %F3 |
< %3C | i %69 | Æ %C6 | ô %F4 |
= %3D | j %6A | Ç %C7 | õ %F5 |
> %3E | k %6B | è %C8 | ö %F6 |
%3F | l %6C | é %C9 | ÷ %F7 |
@ %40 | m %6D | ê %CA | ø %F8 |
A %41 | n %6E | Ë %CB | ù %F9 |
B %42 | o %6F | ì %CC | ú %FA |
C %43 | p %70 | í %CD | û %FB |
D %44 | q %71 | Î %CE | ü %FC |
E %45 | r %72 | Ï %CF | y %FD |
F %46 | s %73 | D %D0 | t %FE |
G %47 | t %74 | Ñ %D1 | ÿ %FF |
H %48 | u %75 | ò %D2 |