问题描述
所以是这样的: 我需要找到拍摄照片的位置。 我设法获取了照片的坐标并将其保存在纬度和经度变量中,但是当我尝试通过python提取这些坐标的城市位置时,出现了该错误: 我的代码:
FlowerData
错误: GeocoderError:错误REQUEST_DENIED 查询:https://maps.google.com/maps/api/geocode/json?latlng=12.971600%2C77.594600&sensor=false&bounds=®ion=&language=
我该如何解决?如果生病了,会在哪里插入Google地图的KPI代码?
tnx寻求帮助!
解决方法
您需要传递您的API密钥。
参见下面的示例
import googlemaps
gmaps = googlemaps.Client(key='Add Your Key here')
# Look up an address with reverse geocoding
reverse_geocode_result = gmaps.reverse_geocode((40.714224,-73.961452))
,
我认为您正在混合使用两个反向地理编码器包。
reverse_geocoder
您第一次导入的reverse_geocoder会像这样
In [1]: import reverse_geocoder as rg
In [2]: results = rg.search((12.9716,77.5946))
Loading formatted geocoded file...
In [3]: results
Out[3]:
[{'lat': '12.97194','lon': '77.59369','name': 'Bangalore','admin1': 'Karnataka','admin2': 'Bangalore Urban','cc': 'IN'}]
reverse_geocoder
软件包非常好,因为它是离线反向地理编码器,这意味着它具有软件包中包含的所有地址,并且不需要任何API密钥或互联网访问。
pygeocoder
pygeocoder的Geocoder需要Google Maps的API密钥。有关说明,请参见Google Maps API Key documentation。请注意,您需要一个Google Maps计费帐户,使用该帐户可能会花费很多钱。正确的语法是
location = Geocoder(api_key='INSERT API KEY HERE').reverse_geocode(12.9716,77.5946)
Geocoder
的文档来自IPython帮助:
In [4]: Geocoder?
Init signature: Geocoder(api_key=None,client_id=None,private_key=None)
Docstring: A Python wrapper for Google Geocoding V3's API
Init docstring:
Create a new :class:`Geocoder` object using the given `client_id` and
`private_key`.
:param api_key: Google Maps Simple API key
:type api_key: string
:param client_id: Google Maps Premier client ID
:type client_id: string
:param private_key: Google Maps Premier API key
:type client_id: string
Google Maps API Premier users can provide his key to make 100,000
requests a day vs the standard 2,500 requests a day without a key
,
也没用。 我试过了:
location = Geocoder(api_key='myCode').reverse_geocode(12.9716,77.5946)
这是整个错误,如果它可以帮助您:
---------------------------------------------------------------------------
GeocoderError Traceback (most recent call last)
<ipython-input-85-083207d98109> in <module>
68 # print("City:",location.city)
69
---> 70 location = Geocoder(api_key='myCode').reverse_geocode(12.9716,77.5946)
71
D:\paython\lib\site-packages\pygeocoder.py in reverse_geocode(self,lat,lng,sensor,bounds,region,language)
161
162 if self is not None:
--> 163 return GeocoderResult(self.get_data(params=params))
164 else:
165 return GeocoderResult(Geocoder.get_data(params=params))
D:\paython\lib\site-packages\pygeocoder.py in get_data(self,params)
210
211 if response_json['status'] != GeocoderError.G_GEO_OK:
--> 212 raise GeocoderError(response_json['status'],response.url)
213 return response_json['results']
214
GeocoderError: Error REQUEST_DENIED
Query: https://maps.google.com/maps/api/geocode/json?latlng=12.971600%2C77.594600&sensor=false&bounds=®ion=&language=&key=AIzaSyB7FWHM4cZsUogGIb50R3uTK2ks97jh6vM