Skip to main content
 首页 » 编程设计

python之与谷歌附近搜索的距离

2025年05月04日8小虾米

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

请您参考如下方法:

您可以使用 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> 
 ......