Google Direction API là m t d ch v tính toán h ng di chuy n gi a các đa đi m, s d ng m t yêu c u HTTP. D ch v này h tr cho nhi u lo i hình v n t i, ch ng h n nh : đi l i b ng ph ng ti n công c ng (xe buýt), lái xe (xe h i, xe taxi), lái xe đ p và đi b .
có th s d ng d ch v này, đòi h i c n ph i ch ra đi m b t đ u, và đi m k t thúc c a l trình, có th là m t chu i (ch ng h n “37 Ngô T t T , H Chí Minh, Vi t Nam”) ho c m t t a đ đa lý (v đ , kinh đ ).
2.6.3.2. Gi i h n s d ng
N u ng d ng s d ng tài kho n mi n phí đ truy v n d li u c a Google, thì s có gi i h n sau:
2.500 yêu c u truy v n Google Direction m i ngày.
Ch đ c phép s d ng t i đa 8 đi m chuy n h ng (waypoints) trong m i yêu c u.
Tr ng h p, Google maps API dành cho ng i s d ng có tr phí s có gi i h n s d ng Google Direction cao h n:
100000 yêu c u h ng d n l trình m i ngày.
Cho phép 23 đi m chuy n h ng trong m i l n yêu c u.
Tuy nhiên, m i l n yêu c u s d ng Google Direcion s đ c tính là 4 yêu c u, các đi m chuy n h ng (waypoints) không đ c dùng cho h ng d n tìm đ ng đi b ng xe buýt.
2.6.3.3. Cú pháp
Khi m t yêu c u Direction API đ c g i đi có d ng nh sau:
http://maps.googleapis.com/maps/api/directions/output?parameters Bên c nh đó, đ s d ng Direction API trên HTTPS, ta s d ng cú pháp: https://maps.googleapis.com/maps/api/directions/output?parameters Trong đó: output có th là JSON ho c XML.
2.6.3.4. Các tham s
Ng i s d ng có th truy n nhi u tham s trong yêu c u, các tham s cách nhau b i kí t “&”. Danh sách các tham s và giá tr đ c li t kê nh sau:
Các tham s b t bu c ph i có trong yêu c u:
Origin( i m xu t phát): a ch d ng chu i ho c giá tr c a v đ / kinh đ mà t đó có th tính toán h ng di chuy n. Khi đa ch là m t chu i, các d ch v
Directions s mã hóa chu i và chuy n đ i nó thành m t v đ / kinh đ đ tính toán h ng di chuy n.
Destination( i m k t thúc): a ch d ng chu i ho c giá tr c a v đ / kinh đ mà t đó có th tính toán h ng di chuy n. Khi đa ch là m t chu i, các d ch v Directions s mã hóa chu i và chuy n đ i nó thành m t v đ / kinh t a đ đ tính toán h ng di chuy n
Sensor: Cho bi t li u có hay không yêu c u tìm h ng di chuy n đ n t m t thi t b c m ng v trí. Giá tr này ph i là true hay false.
Các tham s tùy ch n:
Mode (m t đnh là driving ): Ch đnh ph ng th c v n t i đ c s d ng đ tính toán h ng di chuy n (có th là: driving, walking, bicycling hay transit). N u thi t l p ch đ "transit", thì c n ph i xác đnh thêm tham s ho c là departure_time (th i gian xu t phát) hay là arrival_time (th i gian đ n).
Waypoints: Ch đ nh các c t m c. Waypoints đ c s d ng đ thay đ i l trình b ng cách ch đnh các v trí c th mà l trình b t bu c ph i đi qua. M t waypoint đ c xác đnh ho c là m t t a đ g m v đ / kinh đ ho c m t đa ch đã đ c mã hóa. Waypoints ch h tr cho lái xe (driving), đi b (walking) hay lái xe đ p (bicycling), không h tr cho lo i hình đi l i b ng xe buýt (transit).
Avoid: Tính n ng ch đnh các tuy n đ ng nên tránh. Hi n nay, thông s này h tr hai đ i s sau: tolls tránh các tuy n đ ng có thu phí/c u và highways tránh các tuy n đ ng cao t c.
Region: Các mã vùng, mi n qu c gia g m hai kí t .
Units: Xác đ nh các đ n v h th ng đ s d ng khi hi n th k t qu .
Departure_time: Xác đ nh th i gian mong mu n kh i hành theo giây tính t n a đêm ngày 01/01/1970 (theo chu n gi qu c t UTC) cho đ n th i đi m yêu c u.
Arrival_time: xác đnh th i gian mong mu n đ n m t đa đi m nào đó theo giây tính t n a đêm ngày đêm ngày 01/01/1970 (theo chu n gi qu c t UTC).
Tr ng h p ng i dùng yêu c u truy v n m t transit direction, thì ph i khai báo m t trong hai thông s tùy ch n là departure_time ho c arrival_time.
2.6.3.5. Phân tích k t qu tr v
K t qu tr v t t p tin JSON g m 2 thành ph n:
Status: cho bi t tình tr ng k t qu sau khi th c thi yêu c u.
Routes: danh sách các l trình đi t đi m xu t phát đ n đi m k t thúc. M i “route” đ i di n cho m t l trình tìm th y bao g m 2 thành ph n chính:
Legs []: ch a m t danh sách các leg (m i leg đ i di n cho t ng con đ ng trong l trình). Tr ng h p, yêu c u truy v n là transit direction thì Legs [] ch ch a m t ph n t leg đ i di n cho con đ ng đi t đi m b t đ u đ n đi m k t thúc.
Overview_polyline: ch a thành ph n points (đ i di n cho m t dãy các t a đ đã đ c mã hóa c a l trình đi t đi m b t đ u đ n đi m k t thúc).
M i “leg” bao g m các thành ph n sau:
Steps []: ch a danh sách các step (m i step đ i di n cho t ng đo n đ ng trong con đ ng leg).
Distance: kho ng cách c a leg. Distance g m 2 thành ph n: value (giá tr c a kho ng cách tính b ng mét) và text (kho ng cách kèm theo đ n v mà ng i dùng có th hi u đ c).
Duration: th i gian đi cho m i leg. Duration g m 2 thành ph n: giá tr c a th i gian tính theo giây) và text (th i gian kèm theo đ n v mà ng i dùng có th hi u đ c).
Departure_time: th i gian kh i hành c a leg (ch có trong yêu c u transit direction).
Arrival_time: th i gian k t thúc c a leg (ch có trong yêu c u transit direction).
Start_address: đ a ch đi m b t đ u c a leg
End_address: đa ch đi m k t thúc c a leg.
Start_location: đa ch đi m b t đ u c a leg theo t a đ (lat/lng).
End_location: đ a ch đi m k t thúc c a leg theo t a đ (lat.lng). M i “step” ch a các thành ph n chính sau:
Html_instructions: ch d n đ ng đi cho step.
Start_location: đa ch đi m b t đ u c a leg theo t a đ (lat/lng).
End_location: đ a ch đi m k t thúc c a leg theo t a đ (lat.lng).
Distance: kho ng cách c a m i step (g m 2 thành ph n: value và text).
Duration: th i gian đi cho m i step (g m 2 thành ph n: value và text).
Travel_mode: đ i di n cho hình th c v n t i, n u ng i dùng th c hi n m t transit direction thì travel mode nh n 2 giá tr là “WALKING” ho c “TRANSIT”. N u travel_mode là “WALKING” thì m i step s bao g m m t danh sách các sub steps. N u travel_mode là “TRANSIT” thì m i step ch a m t transit_details v i các thành ph n sau:
o Departure_stop và arrival_stop: cho bi t thông tin v tr m d ng xu t phát và k t thúc trong đo n đ ng step. Thông tin v tr m d ng bao g m hai thành ph n: name (đa ch c a tr m d ng) và location (v trí (v đ , kinh đ ) c a tr m d ng).
o Arrival_time và departure_time: cho bi t th i gian kh i hành và k t thúc c a tuy n xe trên đo n đ ng step. Thông tin v th i gian bao g m 2 thành ph n: value và text.
o Line: ch a thông tin v tuy n xe, trong đó thành ph n name cho bi t tên tuy n xe c n đi.
2.6.4 Google Geocoding API Service 2.6.4.1. Gi i thi u