Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调用API:Place Id与预期不同(Python)_Python_Json_Api_Google Maps Api 3 - Fatal编程技术网

调用API:Place Id与预期不同(Python)

调用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

我正在调用API来访问某个位置的位置id信息。代码返回带有地理信息和地点id的JSON数据,但我得到的地点id与要求我查找的地点id不匹配。位置id中的前七个字符是:“ChIJ18Y”。有人能告诉我一些关于位置id的信息吗?我的编码语句有问题吗?提前感谢您的投入

以下是我迄今为止所做的工作:

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地址的。希望这有帮助!