2016-05-19 8 views
0

Also verwende ich Google Maps für eine automatische Vervollständigung Texteingabe für Städte. Das Skript Ich rufe hat ein src wie folgt aus:Kann kontrolliert werden, welche Google Maps-Skripte abgerufen werden (JavaScript-API)?

https://maps.googleapis.com/maps/api/js?libraries=places&callback=initAutocomplete&types=(cities) 

ich im Netz Registerkarte sehen, dass dies eigentlich ganz herunterlädt ein paar externe Google-Skripte:

common.js 
util.js 
controls.js 
places_impl.js 
stats.js 

Zusammengefasst diese Skripte über 100kb sind ... Das ist gleich der Größe meiner gesamten Anwendung (gziped). Ist das wirklich nur für eine Ortsautovervollständigung nötig? Gibt es eine Möglichkeit params in die Anfrage-URL zu übergeben, die kontrolliert, was heruntergeladen wird?

Antwort

1

Das sind alles Skripte, die Google Maps JS API benötigt, um richtig zu funktionieren, um Karte usw. anzuzeigen. Aber wenn Sie NUR Places Autocomplete wollen, und Sie wollen nicht einmal die Karte anzeigen, dann gibt es einen Weg für Sie laden keine Bibliotheken herunter.

So stellen Sie eine Anfrage an Google Places API, so etwas wie:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=TEXT&types=(cities)&language=en&key=YOUR_API_KEY 

für die automatische Vervollständigung Ergebnisse bei jeder Benutzereingabe etwas in Sie Eingabefeld (oder vorzugsweise mit einem gewissen Drosselung) suchen. Google Places API ist kein Teil von Google Maps JS API, den Sie in Ihrem Projekt verwenden. Es ist eine separate API nur für Orte.

+0

Haben Sie Beispiele dafür? Ich suchte nach npm-Paketen (vorzugsweise auf React-Basis) und habe nichts Nützliches gefunden, das nicht fürchterlich aufgebläht ist. –

Verwandte Themen