【发布时间】:2015-12-19 22:32:34
【问题描述】:
程序将提示输入位置,联系 Web 服务并检索 Web 服务的 JSON 并解析该数据,并从 JSON 中检索第一个 place_id。地点 ID 是在 Google 地图中唯一标识地点的文本标识符。
API 端点
要完成这项任务,您应该使用这个具有 Google 数据静态子集的 API 端点:
http://python-data.dr-chuck.net/geojson
此 API 使用与 Google API 相同的参数(传感器和地址)。此 API 也没有速率限制,因此您可以根据需要随时进行测试。如果您访问不带参数的 URL,您将获得可用于此 API 的所有地址值的列表。
import urllib
import json
serviceurl = 'http://python-data.dr-chuck.net/geojson'
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'
js = json.loads(str(data))
我很困惑 place_id 在哪里?我所能看到的只是一个包含许多大学名称的列表。我该如何解决这个问题?
【问题讨论】:
-
不知道你在问什么
-
@PadraicCunningham:他们没有得到预期的结果(不是带有
place_id键的 JSON 对象)。那是因为他们错误地调用了服务。 -
@MartijnPieters,我明白这一点,但它确切地告诉他们在问题中要做什么。
-
@PadraicCunningham:所以这里缺少的是找出问题所在..
-
@MartijnPieters,或者去specsavers之旅..