2017-09-03 3 views
0

Ich versuche, die Orte, die automatische Vervollständigung api von Google abzufragen, die folgenden Schnipseln mitGoogle Places web api kooperierende nicht mit Superagenten

request.get(`https://maps.googleapis.com/maps/api/place/autocomplete/`).query(params) 

Mit dem richtigen params des Code wird fehlschlagen, mir eine CORS Ausnahme geben

Wenn ich zu meinem Netzwerk-Tab wechseln, kann ich sehen, dass die Anfrage selbst einwandfrei funktioniert und dass es sogar das Datum zurückgibt, das ich will.

Ich arbeite mit superagent-es6-promise.

+0

Verwandte https://stackoverflow.com/questions/44336773/google-maps-api-no-access-control-allow-origin-header-is-present-on-the-reque/44339169#44339169 und https: //stackoverflow.com/questions/43443836/angular-cors-jsonp-and-google-maps-http-api-calls/43444274#43444274 – sideshowbarker

Antwort

2

Die CORS-Header sind nicht für den Google Places API-Webdienst auf Backend-Servern von Google festgelegt. Daher können Sie aufgrund der Same-Origin-Richtlinie der Browser den Places API-Webdienst nicht vom clientseitigen JavaScript-Code aufrufen.

Um Places auf clientseitigem JavaScript verwenden zu können, müssen Sie eine Places-Bibliothek von Google Maps JavaScript API verwenden. Die Orte Bibliothek hat in der Nähe und Textsuchfunktionalität, auch Autovervollständigung Widget und Service sehr ähnlich dem entsprechenden Web-Service.

Für weitere Informationen wenden Sie sich bitte einen Blick auf die Dokumentation haben:

https://developers.google.com/maps/documentation/javascript/places

Hoffe, es hilft!

+0

Es stellt sich heraus, dass ich bereits diese Bibliotheken über google-map-react geladen habe und ich einfach musste dies erweitern, um Zugriff auf die Orte API zu erhalten. – Samyn