Google Directions API通过请求获取导航数据简介

使用GoogleMap的一些基础在这里不做介绍,下面主要介绍一下如何根据经纬度获取导航的路径信息:

导航的路径信息可以通过Http获取也可以通过Https获取;两者的url是相同的,不同的是https比http安全而已。

下面是获取的uil的格式:http://maps.googleapis.com/maps/api/directions/[json|xml]?[params];

  • 有两种输出格式分别是json和xml;
  • params如下:
    1. origin(必要)您要计算导航路径的起始位置,可以是地址或经纬度。
    2. destination (必要)您要计算导航路径的终止位置,可以是地址或经纬度。
    3. mode(选用,默认值:driving)指定计算导航时使用的交通模式。
      • driving表示使用标准行车导航。
      • walking 要求使用人行道及行人步行导航。
      • bicycling 要求使用自行车导航。(只适用于美国)
    4. waypoints (选用) 指定导航路径要经过的地点。地点可以指定为经纬度坐标或可进行地理编码的地址。
    5. alternatives (选用)true 时,表示请求导航的回应中提供一个以上的路线。这个可能延长服务器的请求耗时。
    6. avoid(选用) 表示导航路径要避开的地点。这个参数可以是下面的2个值︰
      • tolls 表示路径避开收费站。
      • highways 表示路径避开高速公路。
    7. units (选用)指定显示的单位。
      • metric 使用标准单位,公里和公尺。
      • imperial 使用英式单位,英里和英尺。
    8. region (选用)将区域代码指定为ccTLD([顶层网域])的两位字元值。
    9. language (选用)路径传回时使用的语言。如果系统不支持设置的语言,那么系统会使用浏览器设置的语言进行返回。
      • zh-CN 简体汉语
      • en-US 英语
    10. sensor (必要) 指出导航的请求设备是否附有位置感应器。这个值必须是 true 或 false。

以下是Google Directions API提供的2个URL的示例供参考:

  1. http://maps.googleapis.com/maps/api/directions/json?origin=Boston,MA&destination=Concord,MA&waypoints=Charlestown,MA|Lexington,MA&sensor=false
  2. 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 &AElig; %C6 &ocirc; %F4
= %3D j %6A &Ccedil; %C7 &otilde; %F5
> %3E k %6B è %C8 &ouml; %F6
%3F l %6C é %C9 ÷ %F7
@ %40 m %6D ê %CA &oslash; %F8
A %41 n %6E &Euml; %CB ù %F9
B %42 o %6F ì %CC ú %FA
C %43 p %70 í %CD &ucirc; %FB
D %44 q %71 &Icirc; %CE ü %FC
E %45 r %72 &Iuml; %CF y %FD
F %46 s %73 D %D0 t %FE
G %47 t %74 &Ntilde; %D1 &yuml; %FF
H %48 u %75 ò %D2  
原文地址:https://www.cnblogs.com/janken/p/2489575.html