2012-12-21 70 views
2

我试过以下代码从Google Nearby Search获取地点。谷歌周边地区的距离

from googleplaces import GooglePlaces, types, lang 

YOUR_API_KEY = 'AIzaSyAiFpFd85eMtfbvmVNEYuNds5TEF9FjIPI' 

google_places = GooglePlaces(YOUR_API_KEY) 

query_result = google_places.query(
     location='London, England', keyword='Fish and Chips', 
     radius=20000, types=[types.TYPE_FOOD]) 

if query_result.has_attributions: 
    print query_result.html_attributions 


for place in query_result.places: 
    # Returned places from a query are place summaries. 
    print place.name 
    print place.geo_location 
    print place.reference 

    # The following method has to make a further API call. 
    place.get_details() 
    # Referencing any of the attributes below, prior to making a call to 
    # get_details() will raise a googleplaces.GooglePlacesAttributeError. 
    print place.details # A dict matching the JSON response from Google. 
    print place.local_phone_number 
    print place.international_phone_number 
    print place.website 
    print place.url 

我得到了给定位置和半径的位置列表的JSON输出。我从json中获取了名称,地址,纬度和经度。我也需要那个地方的距离,但无法找到它。有人请帮忙。

回答

0

您可以使用Google Distance Matrix API.

它会回报你这样一个输出:

<?xml version="1.0" encoding="UTF-8"?> 
<DistanceMatrixResponse> 
<status>OK</status> 
<origin_address>Vancouver, BC, Canada</origin_address> 
<origin_address>Seattle, État de Washington, États-Unis</origin_address> 
<destination_address>San Francisco, Californie, États-Unis</destination_address> 
<destination_address>Victoria, BC, Canada</destination_address> 
<row> 
<element> 
    <status>OK</status> 
    <duration> 
    <value>340110</value> 
    <text>3 jours 22 heures</text> 
    </duration> 
    <distance> 
    <value>1734542</value> 
    <text>1 735 km</text> 
    </distance> 
</element> 
...... 
+0

三江源的答复先生。但我看过这个。它需要一个起源和目的地na? – ToothLess

+0

是的。你应该能够得到你当前的地址。对于目的地,您应该能够从您的谷歌地点URL中检索。因此,对于您从Google Place API检索到的每个结果,都应将其用作destination_address的参数。 – Rudy