0

在 Google API 控制台中,API 访问为serverbrowserAndroid和生成密钥iOS

  1. 我需要哪种类型的 api_key 从 Google App Engine Python 生成地理编码?
  2. 如果答案是服务器,我是否需要为 GAE 找出服务器的 IP 地址,它们是什么?我得到了74.125.129.141,这可能会改变。(或者会吗?)
  3. 如果你有一个 Python GAE 服务器,你能帮我找到一个生成代码的例子吗?我不确定我是否做对了?

我有这段代码,它显示data来自result.content. 我的目的是使用以下方法将地理编码保存到数据库中ndb.GeoPt(lat,lng)

def get_geo(address):
  browser_key = "browser_key"
  server_key = "server_key"
  address = cgi.escape(address.replace(" ","+"))
  sensor = "true"
  url = "http://maps.googleapis.com/maps/api/geocode/json?key="+ server_key +"&address=" + address + "&sensor="+ sensor
  result = urlfetch.fetch(url)
  data = json.loads(result.content) # This is the error
  geo = data
  #lat = data['results'][0]['geometry']['location']['lat']
  #long = data['results'][0]['geometry']['location']['lng']
  #return ndb.GeoPt(str(lat) +","+ str(long))
  return geo

我在使用上面的例子时遇到了这个错误:

  File "C:\xampp\htdocs\mapjobs\main.py", line 18, in get_geo
    data = json.loads(result.content)
  File "C:\Python27\lib\json\__init__.py", line 310, in loads
    return _default_decoder.decode(s)
  File "C:\Python27\lib\json\decoder.py", line 346, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Python27\lib\json\decoder.py", line 364, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
4

1 回答 1

0

它应该包括browser_key,并且 url 应该是:

url = "http://maps.googleapis.com/maps/api/geocode/json?key="+ browser_key +"&address=" + address + "&sensor="+ sensor
于 2013-10-30T22:43:27.080 回答