날뛰는 코드

Google direction JSON 파싱 정리 본문

안드로이드/구글 맵

Google direction JSON 파싱 정리

미 냉 2017. 8. 20. 22:57

 

* 전체 설명 구글 direction

https://developers.google.com/maps/documentation/directions/intro?hl=ko

 

 

 

*크게

= routes(경로) {  legs(구간) { steps(스텝) } } 으로 구성

 

1. routes(경로)

 

- routes 배열의 각 요소는 지정된 출발지 및 목적지의 단일 결과를 포함합니다. 이 경로는 경유지가 지정되었는지 여부에 따라 하나 이상의 legs로 구성될 수 있습니다. 또한, 경로에는 라우팅 정보뿐만 아니라 사용자에게 표시되어야 하는 저작권 및 경고 정보가 포함됩니다.

 

 

2. legs( 구간)

 

- legs 배열의 각 요소는 계산된 경로의 출발지에서 목적지까지 단일 여정 구간을 지정합니다. 포함된 경유지가 없는 경로의 경우에는 경로가 단일 "구간"으로 구성되지만, 하나 이상의 경유지가 정의된 경로의 경우에는 경로가 하나 이상의 구간으로 구성되며, 각 구간은 특정한 여정 구간에 해당합니다.

 

=> 경유지가 없으면 legs는 단일 구간이다.

=> 여기서의 distance, duration 으로 각 구간당 거리, 시간을 구할 수 있다.

=> 값을 비교하면 판단하려면 value값을 가져와 하는게 나을듯

=> value는 미터 랑 초(

 

ex)

 "legs" : [
           
{
               
"arrival_time" : {
                 
"text" : "3:49pm",
                 
"time_zone" : "America/New_York",
                 
"value" : 1447188541
               
},
               
"departure_time" : {
                 
"text" : "3:00pm",
                 
"time_zone" : "America/New_York",
                 
"value" : 1447185623
               
},
               
"distance" : {
                 
"text" : "10.1 mi",
                 
"value" : 16273
               
},
               
"duration" : {
                 
"text" : "49 mins",
                 
"value" : 2918
               
},
               
"end_address" : "1 MetLife Stadium Dr, East Rutherford, NJ 07073, USA",
               
"end_location" : {
                 
"lat" : 40.814505,
                 
"lng" : -74.07272910000002
               
},
               
"start_address" : "75 Ninth Ave, New York, NY 10011, USA",
               
"start_location" : {
                 
"lat" : 40.7428444,
                 
"lng" : -74.00587019999999
               
},

 

 

 

3. steps(스텝)

- steps 배열의 각 요소는 계산된 찾아가는 길의 단일 스텝을 정의합니다. 스텝은 길찾기 경로의 가장 작은 단위이며, 여정에서 특정 단일 지시를 나타내는 단일 스텝을 포함합니다. 예: "서쪽 네 번째 거리에서 좌회전" 스텝은 지시를 나타낼 뿐만 아니라 이 스텝이 다음 스텝과 어떻게 관련되는지에 대한 거리 및 기간 정보도 포함합니다. 예를 들어, "I-80 서쪽에서 합류"로 지정된 스텝은 "37마일" 및 "40분"을 포함할 수 있으며, 이는 그 다음 스텝이 이 스텝에서 37마일/40분 떨어져 있음을 나타냅니다.

 

=> steps은 legs의 각각 구간인것 같다.

ex) legs{  steps(집~ 버스정류장 까지), steps(버스정류장~ 역 까지), steps(역 ~ 학교 까지) }

이런식인가?

흠 근데 한국 대중교통으로 해보니까 단일경로로 해보니까 steps은 아이에 없넹 

Comments