调用API:Place Id与预期不同(Python)
我正在调用API来访问某个位置的位置id信息。代码返回带有地理信息和地点id的JSON数据,但我得到的地点id与要求我查找的地点id不匹配。位置id中的前七个字符是:“ChIJ18Y”。有人能告诉我一些关于位置id的信息吗?我的编码语句有问题吗?提前感谢您的投入 以下是我迄今为止所做的工作:调用API:Place Id与预期不同(Python),python,json,api,google-maps-api-3,Python,Json,Api,Google Maps Api 3,我正在调用API来访问某个位置的位置id信息。代码返回带有地理信息和地点id的JSON数据,但我得到的地点id与要求我查找的地点id不匹配。位置id中的前七个字符是:“ChIJ18Y”。有人能告诉我一些关于位置id的信息吗?我的编码语句有问题吗?提前感谢您的投入 以下是我迄今为止所做的工作: import urllib import json serviceurl = 'http://python-data.dr-chuck.net/geojson?sensor=false&addre
import urllib
import json
serviceurl = 'http://python-data.dr-chuck.net/geojson?sensor=false&address=Madras+University'
while True:
address = raw_input('Enter location: ')
if len(address) < 1 : break
url = serviceurl + urllib.urlencode({'sensor':'false', 'address': address})
print 'Retrieving', url
uh = urllib.urlopen(url)
data = uh.read()
print 'Retrieved',len(data),'characters'
try: js = json.loads(str(data))
except: js = None
if 'status' not in js or js['status'] != 'OK':
print '==== Failure To Retrieve ===='
print data
continue
print json.dumps(js, indent=4)
lat = js["results"][0]["geometry"]["location"]["lat"]
lng = js["results"][0]["geometry"]["location"]["lng"]
print 'lat',lat,'lng',lng
location = js['results'][0]['formatted_address']
print location
导入urllib
导入json
serviceurl=http://python-data.dr-chuck.net/geojson?sensor=false&address=Madras+大学的
尽管如此:
地址=原始输入('输入位置:')
如果len(地址)<1:中断
url=serviceurl+urllib.urlencode({'sensor':'false','address':address})
打印“正在检索”,url
uh=urllib.urlopen(url)
data=uh.read()
打印“已检索”,len(数据),“字符”
try:js=json.loads(str(data))
除外:js=None
如果“状态”不在js或js[“状态”]!='好的:
打印“===检索失败===”
打印数据
持续
打印json.dumps(js,缩进=4)
lat=js[“结果”][0][“几何体”][“位置”][“lat”]
lng=js[“结果”][0][“几何体”][“位置”][“lng”]
打印“lat”,lat,“lng”,lng
location=js['results'][0]['formatted_address']
打印位置
您使用Google Places API连接的Web服务是内部的还是完全不同的实现?(这是API端点,它是Google API数据的静态子集。)更新:所以当我搜索确切地址而不是大学名称时,我从Google站点获得了正确的地点id。我的代码为学校提供了正确的地址,但它没有提供与Google.Upd.ate2相同的学号:我试着运行程序并输入学校的确切地址,它提供了正确的学号,与谷歌的学号匹配。我没能尽快给你回复。我假设API端点正在使用如您所说的内部的Places API。将给出带有预测查询的placeId的响应。从那里,我们也可以得到精确的lat/long坐标。其他API可用于获取具有格式化的\u地址的。希望这有帮助!使用GooglePlacesAPI连接的Web服务是内部的还是完全不同的实现?(这是API端点,它是Google API数据的静态子集。)更新:所以当我搜索确切地址而不是大学名称时,我从Google站点获得了正确的地点id。我的代码为学校提供了正确的地址,但它没有提供与Google.Upd.ate2相同的学号:我试着运行程序并输入学校的确切地址,它提供了正确的学号,与谷歌的学号匹配。我没能尽快给你回复。我假设API端点正在使用如您所说的内部的Places API。将给出带有预测查询的placeId的响应。从那里,我们也可以得到精确的lat/long坐标。其他API可用于获取具有格式化的\u地址的。希望这有帮助!