5 Stimmen

Wie verwende ich Google Places, um eine Reihe von Ortsnamen zu erhalten?

Ich versuche, auf Google Places zuzugreifen, um ein Array von 50 Restaurantnamen um einen Breiten- und Längengrad zurückzugeben, aber ich bin auf eine Mauer gestoßen, als es darum ging, die Anfrage zu stellen. Ich habe den Code, um den Breiten- und Längengrad des Nutzers zu bestimmen, und ich habe meinen API-Schlüssel von Google erhalten, ich kann nur nicht herausfinden, wie die Anforderung über die URL zu machen und die Google-Dokumentation ist still, wie man eigentlich die Daten zu erhalten. Ich bin zuversichtlich, dass ich in der Lage sein werde, herauszufinden, wie man die JSON-Rückgabe parst, aber die Daten zu erhalten hat sich als schwieriger/verwirrender erwiesen, als ich mir vorgestellt habe.

Falls es von Bedeutung ist: Ich verwende MaxMind, um den Breiten- und Längengrad des Benutzers zu ermitteln. Hier ist das Skript, das ich bis jetzt habe:

<script type="text/javascript" src="https://www.google.com/jsapi?key=api_key"></script>
<script type="text/javascript" src="http://j.maxmind.com/app/geoip.js"></script>

<script type="text/javascript">
    latitude = geoip_latitude();
    longitude = geoip_longitude();
</script>

2voto

no.good.at.coding Punkte 19983

Die Google-Dokumentation gibt keine Auskunft darüber, wie man die Daten tatsächlich erhält

Nicht wirklich, die Dokumentation der Webdienst-API für Orte hat Beispiele - Sie generieren die URL mit den entsprechenden Parametern und erhalten JSON oder XML zurück, das Sie parsen.

Wenn Sie jQuery verwenden und die API JSONP unterstützt, könnten Sie etwas wie folgt tun:

$.ajax({
        url: 'https://maps.googleapis.com/maps/api/place/search/json', 
        data: {
                location:"-33.8670522,151.1957362", 
                radius: 500, 
                types:'food', 
                name: 'harbour', 
                sensor: false, 
                key: 'AIzaSyAiFpFd85eMtfbvmVNEYuNds5TEF9FjIPI'
            }, 
        success: function(data){
                    //data will be a JSON object that you can iterate over
                },
        dataType: 'jsonp'
    });

Beachten Sie, dass dies NICHT funktioniert, da JSONP nicht unterstützt wird, dies ist nur zur Veranschaulichung, wie Sie puede Anfragen in jQuery stellen

AFAIK ist der Webdienst jedoch in der Lage pas JSONP unterstützen, so dass Sie keine Anfragen über JavaScript stellen können. Sie könnten jedoch die JavaScript-API von Google Maps nutzen und die Orte JavaScript-Bibliothek stattdessen. Auch hier gibt es Beispiele, die zeigen, wie die Bibliothek genutzt werden kann. Die grundlegende Nutzung besteht darin, den Dienst zu starten und eine Suchanfrage zu stellen, wie unten dargestellt (direkt aus den Dokumenten kopiert):

service = new google.maps.places.PlacesService(map);
service.search(request, callback);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X