Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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
Python 2.7 使用googleapi进行反向地理编码的Python代码_Python 2.7_Google Maps_Reverse Geocoding - Fatal编程技术网

Python 2.7 使用googleapi进行反向地理编码的Python代码

Python 2.7 使用googleapi进行反向地理编码的Python代码,python-2.7,google-maps,reverse-geocoding,Python 2.7,Google Maps,Reverse Geocoding,我在一个json文件(geo.json)中获取地理数据,该文件具有以下结构 {"userId":"Geo-data","data":{"mocked":false,"timestamp":1548173963281,"coords":{"speed":0,"heading":0,"accuracy":20.20400047302246,"longitude":88.4048656,"altitude":0,"latitude":22.5757344}}} 我只想打印与上述数据相对应的地点详细

我在一个json文件(geo.json)中获取地理数据,该文件具有以下结构

 {"userId":"Geo-data","data":{"mocked":false,"timestamp":1548173963281,"coords":{"speed":0,"heading":0,"accuracy":20.20400047302246,"longitude":88.4048656,"altitude":0,"latitude":22.5757344}}}
我只想打印与上述数据相对应的地点详细信息,如果可能的话还可以在地图上显示

from geopy.geocoders import Nominatim
geolocator = Nominatim()
location = geolocator.reverse("22.5757344, 88.4048656")
print(location.address)
print((location.latitude, location.longitude))
但是我得到的位置不是很准确。而相同的坐标在 我还有一个谷歌API密钥。然而,到目前为止,我发现的任何参考资料几乎都像是一个项目本身,对于像我这样的初学者来说,都是一种过度的技巧。地质代码很好,但定位精度很差。请帮忙

附言 我也尝试过geocoder

import geocoder
g = geocoder.google([45.15, -75.14], method='reverse')
print(g.city)
print(g.state)
print(g.state_long)
print(g.country)
print(g.country_long)

但是,在所有情况下都是打印“无”。

可以考虑从提供者切换到。然后,下面的示例似乎返回了您期望的地址:

from geopy.geocoders import GoogleV3

geolocator = GoogleV3(api_key=google_key)
locations = geolocator.reverse("22.5757344, 88.4048656")
if locations:
    print(locations[0].address)  # select first location
结果

R-1, GA Block, Sector III, Salt Lake City, Kolkata, West Bengal 700106, India

您可以尝试Google地图服务库的Python客户端,该库位于

这是谷歌地图API web服务请求的包装器库,由谷歌开发。代码快照如下所示

import googlemaps
gmaps = googlemaps.Client(key='Add Your Key here')

# Look up an address with reverse geocoding
reverse_geocode_result = gmaps.reverse_geocode((22.5757344, 88.4048656))
此代码返回地址
R-1,印度西孟加拉邦加尔各答盐湖城III区GA区块700106
,类似于您在Geocoder工具中看到的结果:

有关更多详细信息,请查看github中的文档


我希望这有帮助

不知道为什么有人把它标记为负数。这不是一个复制品,我试图解释我尝试过的一切,以便有人能帮助我。我该怎么问呢?谢谢,在命令行中工作得很好。无论如何,在地图上显示相同的吗?我有一个不受限制的测试API。它显示了一个充满信息的屏幕,因为我的API密钥是不受限制的。在这里寻求帮助之前,我已经看过Github,但对于像我这样的noob来说,这是一种过火的行为。