2012-04-11 5 views
1

Ich versuche, eine interne Admin-Oberfläche zu erstellen, um Orte schnell zu Ereignissen mit Hilfe von qTip und Google Maps hinzuzufügen. Hier ist eine vereinfachte Geige: http://jsfiddle.net/mykel_suthertun/RWtRe/Umgang mit Google Map-Markierungen in qTip2

Es funktioniert derzeit minus zwei Fehler:

  1. Marker jedes Mal dupliziert werden die QTIP geöffnet wird. (Gelöst. Siehe Kommentar unten.)
  2. Es kann zur Zeit keine Karte öffnen, wenn keine Kartenmitte oder Markierung definiert ist.

Re: # 1 - Um zu sehen, was ich meine, klicken Sie auf das Stift-Symbol auf der rechten Seite. Klicken Sie auf aus. Klicken Sie, um es erneut zu öffnen. Es sind jetzt zwei Marker an der gleichen Stelle. Es sollte nur einmal erstellt werden.

Ich nehme an, das liegt daran, dass ich den Marker im "show" -Event von qTip erstellt habe und nicht in "render". Als ich es auf "rendern" umstellte, kam es zu Fehlern, die dazu führten, dass die Karte überhaupt angezeigt wurde.

Re: # 2 - Um diesen Fehler zu sehen, klicken Sie einfach auf eines der Zielsymbole. Ich brauche es nur, um einen Standard-Map-Status zu öffnen, wenn kein Marker oder Center definiert ist. Wie würde ich meinen Code anpassen, um damit umzugehen?

+0

** Re: # 1 ** - Gelöst. Ich wollte damit umgehen, indem ich den Marker-Code vom Ereignis 'show' zum Ereignis 'render' verschiebe, sodass er nur einmal ausgeführt wird. Konnte das nicht zur Arbeit bringen. Ich habe aber einen Weg gefunden. Ich habe eine globale Variable für Marker als null erstellt und anschließend überprüft, ob sie im Show-Ereignis vorhanden ist. [FIDDLE] (http://jsfiddle.net/mykel_suthertun/RWtRe/35/) – Michael

+0

Vergesst nicht. Ich habe es schließlich in der Render-Veranstaltung eingesetzt, was ein großer Schritt in die richtige Richtung war, um Problem Nr. 2 und einige andere, die ich hatte, zu beheben. Ich bin kurz davor, die ganze Sache zum Laufen zu bringen, und ich werde die Geige veröffentlichen, wenn ich fertig bin. – Michael

Antwort

0

Final fiddle.

Da ist etwas schrecklich ineffizient JavaScript dort in (dupliziert Funktionen, usw.), aber es läuft zur Zeit und tut alles, was ich es brauchte. Ich fügte ein paar andere Eigenschaften dort seit dem Original hinzu. Hoffe das hilft jemandem aus.