2017-07-11 2 views
-1

Ich bin ein Anfänger in der Python-Programmierung (ich mache GIS-System, was Python unterstützt) und ich muss Geocoding tun. Ich habe diese Bibliothek heruntergeladen und ich habe sie bereits von python-gmaps in Version 0.3.1 - https://pypi.python.org/pypi/python-gmaps/0.3.1#downloads installiert.Python google maps - Geocodierung

Weiß jemand, was ich dem Code hinzufügen muss, um es korrekt auszuführen? Es gibt ein "Problem" mit "Selbst" - Wo muss ich es schreiben? Ich brauche in der Eingabe die Adresse und am Ausgang wird es die Koordinaten schreiben.

# -*- coding: utf-8 -*- 
from gmaps.client import Client 

class Geocoding(Client): 

    GEOCODE_URL = "geocode/" 
    print("Here") 
    def geocode(self, address, components, region, language, bounds, sensor): 
     parameters = dict(
      address=address, 
      components=components, 
      language=language, 
      sensor=sensor, 
      region=region, 

     ) 
     if bounds: 
      parameters['bounds'] = "%f,%f|%f,%f" % (
       bounds[0][0], bounds[0][1], bounds[1][0], bounds[1][1]) 
     return self._make_request(self.GEOCODE_URL, parameters, "results") 
    geocode(self, "London", None, None,None, None, None) 
+0

Es gibt keine 'self.GEOCODE_URL'. Sie haben das Traceback nicht angegeben (was Sie mit einschließen sollten, damit wir den tatsächlichen Fehler sehen können - "Problem" ist nicht hilfreich), aber das wird ein Problem verursachen: Entweder entfernen Sie "self" von "GEOCODE_URL" oder fügen Sie es bei zu PEG 'self.GEOCODE_URL =" geocode/"' – roganjosh

+0

Außerdem kenne ich die Bibliothek nicht, aber Methoden, die mit einem einzigen führenden Unterstrich ('_make_request') benannt sind, geben im Allgemeinen an, dass Sie sie wahrscheinlich nicht direkt verwenden sollten. Sind Sie sicher, dass dies die API verwendet? – roganjosh

+0

Wenn Sie nicht für jede Instanz unterschiedliche GEOCODE_URL-Variablen haben, müssen Sie wirklich self verwenden –

Antwort

0

Die Google Maps Geocoding RESTful API ist viel einfacher. Hier ist der Code Ihr Problem zu beheben: Import fordert Import json

address = "London" 
apiKey = "Your-API-Key" 

r = requests.get("https://maps.googleapis.com/maps/api/geocode/json?address="+ address +"&key="+ apiKey) 
d = json.loads(r.content) 
print d['results'][0]['geometry']['bounds'] 
Verwandte Themen