使用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 |