angularjs google maps - Marker mit Fenster - Infowindow wird nicht angezeigt

7

Versuche, eine App mit eckigen-google-maps zu erhalten:
- Mehrere Marker über die markers Direktive
- Ein einzelnes Infowindow über die window -Direktive

Ich habe die API und mehrere geschlossene Probleme / Fragen auf der git-hub-Seite durchgemacht, aber ich kann es einfach nicht funktionieren ...: - /

jsfiddle

Der Einfachheit halber deklariere ich die Markierungen manuell (und sie werden korrekt angezeigt):

%Vor%

Das HTML sieht so aus:

%Vor%

Ich verwende die Funktion onClick auf das Array markers mit diesem Code

%Vor%

Die marker click Funktionen sehen aus wie

%Vor%

Die Funktion $scope.onClick() scheint auf marker click zu funktionieren, da die Konsole das ausgibt, was erwartet wird - und der $scope.windowOptions.show -Wert schaltet zwischen true und false ...

um

Ich denke, es ist die Art, wie ich die window html mit den Controller-Arrays und -Funktionen verbunden habe? Jede Hilfe wird geschätzt.

PS Die API-Dokumentation Beispiele scheint aus des Datums, da sie im Beispiel nicht show , sondern options.visible verwenden, um Infofenster ein- und auszublenden - aber dann alle Probleme / Beispiele schlagen stattdessen show vor?

    
goredwards 03.02.2015, 05:31
quelle

4 Antworten

5

Die Bindung Ihres Markers ist in der Fensteranweisung nicht korrekt.

Grundsätzlich müssen Sie eine Markierung als ausgewählt markieren und das Fenster an die ausgewählte Markierung binden. Ein Arbeitsbeispiel finden Sie in der jsfiddle.

%Vor%

Ссылка

    
Myles 03.02.2015, 05:58
quelle
10

Ich weiß, das ist ein alter Post.

In diesen Tagen habe ich mich jedoch bemüht, dies zu tun, und darüber hinaus ist das Puzzle der akzeptierten Antwort kaputt und funktioniert nicht mit den neuesten Versionen von angular-google-maps directive. Also, ich habe beschlossen, einen arbeitenden Plunker zu teilen, in der Hoffnung, dass er anderen Menschen helfen kann.

  

Plunker hier

Diese Version rendert mehrere Marker, aber nur ein Fenster. Es kann immer nur ein Fenster gleichzeitig geöffnet werden.

Es basiert auf den Empfehlungen der offiziellen Website FAQ : Siehe < em> Wie öffne ich immer nur ein Fenster?

html

%Vor%

js

%Vor%

Ich hoffe, es hilft.

    
troig 13.02.2016 16:31
quelle
3

Ich weiß, dass es sich um einen alten Post handelt, aber ich hatte Probleme mit Angular Google Map und löse das Problem, wenn Sie ein Fenster für Marker öffnen. Wenn du ng-repeat und window für jeden benutzt - keine Probleme. Aber wenn Sie eine Marker-Direktive haben und nur ein Fenster anzeigen wollen, dann haben Sie ein Problem - die Fenster liegen nicht über dem Marker und Sie müssen die Position ein wenig ändern. Wie es geht? Lassen Sie mich dazu meine Erfahrung mitteilen.

Sie müssen nur pixelOffset für solche Fensteroptionen angeben:

JS:

%Vor%

HTML:

%Vor%

Das ist es. Ändern Sie Höhe für Ihre Bedürfnisse.

    
d7p4x 05.08.2016 07:49
quelle
0

Sie können das Markierungsmodell auf dem Oszilloskop besser einstellen, wenn Sie auf Folgendes klicken:

marker Klicken Sie auf Rückruf:

%Vor%

Verwenden Sie dann den ausgewählten Marker in der Direktive:

%Vor%

einfach. Angenommen, Ihr Markermodell hat den Längen- und Breitengrad der Ursache

    
Adam Spence 11.03.2015 22:25
quelle