与Google附近搜索的距离

时间:2012-12-21 07:17:29

标签: python google-maps-api-3

我尝试使用以下代码从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中检索了名称,地址,纬度,经度。我也需要那个地方的距离,但无法找到它。有人请帮忙。

1 个答案:

答案 0 :(得分: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>
 ......