2014-09-17 5 views
11

Ich versuche, den Längengrad & Breite einer physikalischen Adresse, durch das unten Skript. Aber ich bekomme den Fehler. Ich habe googlemaps bereits installiert. antworten freundlich Dank im VorausWie bekomme ich Breiten- und Längengrad mit Python

#!/usr/bin/env python 
import urllib,urllib2 


"""This Programs Fetch The Address""" 

from googlemaps import GoogleMaps 


address='Mahatma Gandhi Rd, Shivaji Nagar, Bangalore, KA 560001' 

add=GoogleMaps().address_to_latlng(address) 
print add 

Ausgang:

Traceback (most recent call last): 
    File "Fetching.py", line 12, in <module> 
    add=GoogleMaps().address_to_latlng(address) 
    File "/usr/local/lib/python2.7/dist-packages/googlemaps.py", line 310, in address_to_latlng 
    return tuple(self.geocode(address)['Placemark'][0]['Point']['coordinates'][1::-1]) 
    File "/usr/local/lib/python2.7/dist-packages/googlemaps.py", line 259, in geocode 
    url, response = fetch_json(self._GEOCODE_QUERY_URL, params=params) 
    File "/usr/local/lib/python2.7/dist-packages/googlemaps.py", line 50, in fetch_json 
    response = urllib2.urlopen(request) 
    File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen 
    return _opener.open(url, data, timeout) 
    File "/usr/lib/python2.7/urllib2.py", line 407, in open 
    response = meth(req, response) 
    File "/usr/lib/python2.7/urllib2.py", line 520, in http_response 
    'http', request, response, code, msg, hdrs) 
    File "/usr/lib/python2.7/urllib2.py", line 445, in error 
    return self._call_chain(*args) 
    File "/usr/lib/python2.7/urllib2.py", line 379, in _call_chain 
    result = func(*args) 
    File "/usr/lib/python2.7/urllib2.py", line 528, in http_error_default 
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) 
urllib2.HTTPError: HTTP Error 403: Forbidden 
+2

Sie müssen wahrscheinlich den API-Schlüssel festlegen. Wie diese 'GoogleMaps (api_key)'. Sehen Sie sich die Dokumentation hier http://py-googlemaps.sourceforge.net/ – nkobber

+0

Ich versuchte, aber selbst dann bekomme ich den gleichen Fehler – user3008712

+0

mögliche Duplikate von [Empfangen eines 403 verbotenen Fehlers bei der Verwendung von Längen- und Breitengrad: Geocoding] (http://StackOverflow.com/questions/18743128/recieving-a-403-forbidden-error-when-using-Latitude-and-Longitude-Geocoding/18745224#18745224) – geocodezip

Antwort

26

Googlemap Paket, das Sie verwenden ist keine offizielle und nicht Google Maps API v3 verwenden, das ist das späteste von Google .

Sie können googles geocode REST api verwenden, um Koordinaten von der Adresse abzurufen. Hier ist ein Beispiel.

import requests 

response = requests.get('https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA') 

resp_json_payload = response.json() 

print(resp_json_payload['results'][0]['geometry']['location']) 
+0

Ich fand dies funktioniert besser als die Geopy-Bibliothek –

Verwandte Themen