我正在使用python-google-places脚本,但在将代码集成到使用两个参数调用的函数时,我遇到了问题:" MyLocation"和" MyType"。
" MyLocation"运作良好,但" MyType"不起作用。
有效的代码(没有" MyType&#34的变量;)
# Configuration de l'encodage (a mettre dans tous les scripts)
# encoding: utf-8
####################################
### CLASS
####################################
def ExtractGoogleHotspots(Location,MyType):
from googleplaces import GooglePlaces, types, lang
YOUR_API_KEY = 'XXXXXXX'
google_places = GooglePlaces(YOUR_API_KEY)
# You may prefer to use the text_search API, instead.
query_result = google_places.nearby_search(
location=Location, #Location could be a name or coordinates in english format : 4.04827,9.70428
keyword='',
radius=1000,#Radius in meters (max = 50 000)
types=[types.TYPE_PHARMACY] #Specify the Type
)
for place in query_result.places:
# Returned places from a query are place summaries.
Name = place.name
Name = Name.encode('utf-8')#Encodage en UTF-8 obligatoire pour éviter les erreurs : "UnicodeEncodeError: 'ascii' codec can't encode character..."
Latitude = place.geo_location['lat']
Longitude = place.geo_location['lng']
# The following method has to make a further API call.
place.get_details()
Details = place.details
Address = place.formatted_address
Address = Address.encode('utf-8')
Phone_International = place.international_phone_number
Website = place.website
Result = str(MyType) + ";" + Name + ";" + Address + ";" + str(Phone_International) + ";" + str(Latitude) + ";" + str(Longitude)
+ ";" + str(Website)
print Result
####################################
### Script
####################################
Location = "4.04827,9.70428"
MyType = "DOES_NOT_WORK"
ExtractGoogleHotspots(Location, MyType)
不起作用的代码:
# Configuration de l'encodage (a mettre dans tous les scripts)
# encoding: utf-8
####################################
### CLASS
####################################
def ExtractGoogleHotspots(Location,Type):
from googleplaces import GooglePlaces, types, lang
YOUR_API_KEY = 'XXXXXXX'
google_places = GooglePlaces(YOUR_API_KEY)
MyType = "[types.TYPE_"+Type+"]"
# You may prefer to use the text_search API, instead.
query_result = google_places.nearby_search(
location=Location, #Location could be a name or coordinates in english format : 4.04827,9.70428
keyword='',
radius=1000,#Radius in meters (max = 50 000)
types=MyType #Specify the Type
)
for place in query_result.places:
# Returned places from a query are place summaries.
Name = place.name
Name = Name.encode('utf-8')#Encodage en UTF-8 obligatoire pour éviter les erreurs : "UnicodeEncodeError: 'ascii' codec can't encode character..."
Latitude = place.geo_location['lat']
Longitude = place.geo_location['lng']
# The following method has to make a further API call.
place.get_details()
Details = place.details
Address = place.formatted_address
Address = Address.encode('utf-8')
Phone_International = place.international_phone_number
Website = place.website
Result = str(MyType) + ";" + Name + ";" + Address + ";" + str(Phone_International) + ";" + str(Latitude) + ";" + str(Longitude)
+ ";" + str(Website)
print Result
####################################
### Script
####################################
Location = "4.04827,9.70428"
MyType = "PHARMACY"
ExtractGoogleHotspots(Location, MyType)
如何解决问题以使变量定义类型部分?
答案 0 :(得分:1)
要将类型名称与locByLocID: {
5689: "10S",
8223: "12S"
}
连接起来TYPE_
,您可以使用types
getattr