python代码求解怎么出错了

importhttplibtry:importjsonexceptImportError:#forPython2.5importsimplejsonasjsonpath=... import httplib
try:
import json
except ImportError: # for Python 2.5
import simplejson as json

path = ('/maps/geo?q=207+N.+Defiance+St%2C+Archbold%2C+OH'
'&output=json&oe=utf8')
connection = httplib.HTTPConnection('maps.google.com')
connection.request('GET', path)
rawreply = connection.getresponse().read()
reply = json.loads(rawreply)
print reply['Placemark'][0]['Point']['coordinates'][:-1]
结果是
Traceback (most recent call last):
File "E:/Program Files (x86)/python2.7.3/来了", line 13, in <module>
print reply['Placemark'][0]['Point']['coordinates'][:-1]
KeyError: 'Placemark'
展开
 我来答
百度网友1f2c1f12f
2013-06-08 · TA获得超过106个赞
知道答主
回答量:61
采纳率:100%
帮助的人:58.5万
展开全部
试试这个吧,那个api应该已经不用了

http://maps.googleapis.com/maps/api/geocode/json?address=207+N.+Defiance+St%2C+Archbold%2C+OH&oe=utf8&sensor=true

你可以参考

https://developers.google.com/maps/documentation/geocoding/

和 api v2 upgrade to v3

https://developers.google.com/maps/articles/geocodingupgrade

另外610的意思是

610 G_GEO_BAD_KEY
The given key is either invalid or does not match the domain for which it was given.
追问
没懂额,要怎么操作啊?
bdwisyou7d
2013-06-07 · TA获得超过1.3万个赞
知道大有可为答主
回答量:3774
采纳率:81%
帮助的人:1032万
展开全部
可能是少了一层。你dir(reply)一下看看。
追问
怎样改啊
追答
梦未央说明了啊。问他吧。 目前你的响应里没有'Placemark'这个键 。所以程序走不下去。 可能是少了一步,也可能是没有认证。我自己没有试过。不能给你直接的答案。你再试试。

你在reply = json.loads(rawreply)的后面加一句
print dir(reply)
print reply
这样就知道你怎么去尝试了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦未央7
2013-06-07
知道答主
回答量:19
采纳率:0%
帮助的人:7.7万
展开全部
reply 字典里没有Placemark
这个键 里边的结构是: {u'Status': {u'code': 610, u'request': u'geocode'}}
追问
求教怎么改?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-07
展开全部
reply
字典里没有Placemark
这个键
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式