GoogleMaps v3 autocomplete.getBounds () gibt nach der Festlegung undefiniert zurück

9

Ich habe ein Problem, bei dem versucht wird, die Ergebnisse einer Google Maps-Autovervollständigung auf die letzte auf einer Karte platzierte PIN zu verfälschen. Ich folge dem Tutorial von Google hier: Ссылка

Mein CoffeeScript-Code lautet wie folgt:

%Vor%

Was kompiliert in das folgende Javascript:

%Vor%

Der Pin ist korrekt auf der Karte platziert, aber egal wie viele Orte ich hinzufüge, die console.logs geben immer zurück:

%Vor%

Die Grenzen werden korrekt gesetzt (wie durch das zweite console.log gezeigt), aber die Ergebnisse sind nicht wirklich voreingenommen und das erste Ergebnis ergibt immer undefiniert.

Der Testfall, den wir verwenden, um zu testen, ob die Ergebnisse verzerrt sind, sind:  1. Geben Sie 'San Jose' in Autocomplete ein (die besten Ergebnisse sollten in Amerika sein)  2. Füge 'Limon, Costa Rica' als Markierung auf der Karte hinzu  3. Geben Sie 'San Jose' in Autocomplete ein, Top-Ergebnis sollte San Jose, COSTA RICA

sein

Wir dachten, es könnte ein Problem beim Scoping sein, also haben wir window.autocomplete überall ausprobiert und hatten immer noch das gleiche Problem. Wir haben auch versucht, die Autocomplete-Grenzen in einer separaten Methode zu setzen (anstelle des Ereignisses place_changed, aber das hat auch nicht funktioniert).

Vielen Dank im Voraus für Ihre Hilfe!

Update: Cedrics Antwort versuchen Auf Cedrics Rat hin versuche ich, die Grenzen außerhalb des Listener-Callbacks zu setzen (Methode wird innerhalb des Listeners aufgerufen), aber ich bekomme immer noch das gleiche Problem. Neuer Code:

%Vor%     
CHawk 21.11.2015, 09:30
quelle

1 Antwort

3

Es scheint, dass Ihre Autovervollständigung die Initialisierung von Grenzen entweder von der Karte aus nicht benötigt.

%Vor%

oder über einen bestimmten Ort

%Vor%

Verknüpfen Sie Ihr Tutorial mit Ссылка

Link zur Dokumentation Ссылка

    
Cédric Hartland 23.11.2015, 14:30
quelle