2017-04-10 13 views
-1

私が持っているコード:どのように多くのポイントから目的地までの距離を取得するには?

orig_lat = 48.864716 # Paris lat 
    orig_lon = 2.349014 # Paris lon 
    dest_lat = 52.518623 
    dest_lon = 13.376198 

    google_url = 'http://maps.googleapis.com/maps/api/' 
    fn_url = 'distancematrix/' 
    opt_url = '&language=en-EN&sensor=false' 

    url = "%s%sjson?origins=%s,%s&destinations=%s,%s&mode=driving%s" % (
     google_url, fn_url, str(orig_lat), str(orig_lon), 
     str(dest_lat), str(dest_lon), opt_url 
    ) 

    ret = requests.get(url) 

とグーグルの応答:

{ 
    "destination_addresses" : [ "Paul-Löbe-Allee, 10557 Berlin, Germany" ], 
    "origin_addresses" : [ "18bis Rue Tiquetonne, 75002 Paris, France" ], 
    "rows" : [ 
     { 
      "elements" : [ 
       { 
        "distance" : { 
         "text" : "1,045 km", 
         "value" : 1045157 
        }, 
        "duration" : { 
         "text" : "9 hours 58 mins", 
         "value" : 35905 
        }, 
        "status" : "OK" 
       } 
      ] 
     } 
    ], 
    "status" : "OK" 
} 

しかし、私は1つの宛先ポイントと多くの原点があります。

dest_lat = 52.518623 
dest_lon = 13.376198 

origins = [ 
    (48.864716, 2.349014), # Paris 
    (40.415363, -3.707398), # Madrid 
    (52.237049, 21.017532) # Warsaw 
] 

は、私はすべての期間との距離を取得したいです1つのリクエストでこれは可能ですか?

+0

1つの要求で? Googleにその種の機能があるかどうかはわかりません。おそらく、起源を繰り返し、それぞれの要求を行い、データ構造に結果を追加しようとします。 – citizen2077

+0

ええ、上記のように。あなたはforループを使って起源を繰り返し処理する必要があります! –

+0

それは距離行列がしていることですが、何の問題がありますか? Hey、悲しいことに、 – geocodezip

答えて

関連する問題