Google Maps und knockoutjs

7

Ich mache eine Single-Page-App, bei der ich in der zweiten Ansicht die Google-Karte anzeigen muss. Ich verwende die Google Maps-API, in der das Kartenobjekt erstellt werden soll.

%Vor%

Der Parameter mapId gibt mir ein Problem. Die Ansicht enthält ein Div mit ID say "mapId", aber ich bin nicht in der Lage, die ID zu bekommen und so kann die Karte nicht angezeigt werden. Ich habe versucht, HTML-Bindung, Attributbindung, aber es funktioniert nicht. Ich bin neu im KO-Modus. Bitte schlagen Sie eine Methode vor

    
Empty 04.10.2012, 08:09
quelle

4 Antworten

19

Sie sollten eine benutzerdefinierte Bindung wie folgt verwenden:

%Vor%

Ihr HTML würde so aussehen:

%Vor%

Endlich Ihr Ansichtsmodell:

%Vor%

Hier ist eine Geige , die ein bisschen mehr tut als das, was du fragst, aber funktionieren sollte Gut für Ihren Fall auch.

    
schmidlop 30.04.2013 17:48
quelle
3

Ich habe die "schmidlop" -Bindung geändert, um den Marker bei der Änderung der Eingaben (lat long inputs) und des Markers immer in der Mitte der Map zurückzusetzen.

Html

%Vor%

Bindung, Fügen Sie dies in eine js-Datei ein und fügen Sie sie in html ein.

%Vor%

Modell anzeigen

%Vor%     
Amulya Acharya 21.04.2017 11:11
quelle
1

Hier ist ein gutes Beispiel für die Verwendung von Knockout JS und Google Maps. Hoffentlich hilft es Ihnen, auf die richtige Spur zu kommen. Ссылка

    
Aligned 28.11.2012 17:36
quelle
0

Anstelle von mapId möchten Sie document.getElementById('map') verwenden, wobei 'map' die ID des div ist, das die Karte enthält ( <div id="map"></div> ). Dieses jsFiddle sollte helfen.

    
Gady 21.12.2012 01:47
quelle