# Google Maps wird nicht richtig angezeigt



## Ec16 (22. August 2013)

Hallo,

habe ein Problem das mir derzeit den Nerv raubt.
Und zwar habe ich ein Formular in welchem an 2 Stellen 2 verschiedene Google Maps drin sind.
Früher haben die Maps funktioniert nur jetzt bereiten sie mir Ärger.
Sie werden nicht mehr richtig angezeigt.

Ich benutze FireFox und Vista.
Wenn ich in meinem FF mehrere bzw. min. 2 Tabs auf habe und in einem diese Seite aufrufe, kann ich die Map über Umwege zwar richtig darstellen, aber das ist nicht was ich möchte. Man ruft das Formular auf und klappt die 2. Zeile auf (Map wird nicht richtig angezeigt). Dann springt man in ein anderen Tab von FF und wieder zurück in den Formular Tab. Schon wird die Map richtig angezeigt.
Bei einigen anderen Rechnern mit z.B. Chrome geht es nur bei mir nicht.

Woran kann das liegen?

Bitte helft mir.


----------



## tombe (22. August 2013)

Also FF mit mehreren Tabs zu öffnen bringt bei mir nichts, die Karte wird nur links oben sehr klein angezeigt und kann weder verschoben werden noch lässt sie sich zoomen.

Wenn ich die Seite aber nicht über den obigen Link aufrufe sondern von der Startseite aus übers Menü "Neuen Tornado melden..." gehe, dann stimmt es.

Kann es sein das zur korrekten Darstellung vom Menü irgendwelche Parameter mitgegeben werden müssen die beim direkten Aufruf (wie oben) fehlen?


----------



## tombe (22. August 2013)

Dann gibt es schon wieder ein Problem mehr. Du kannst es nicht nachvollziehen wie es bei mir aussieht und ich kann es umgekehrt nicht nachvollziehen wie du es hast. Komisch, komisch.

Hier habe ich eine Seite gefunden wo die Verwendung wohl recht gut beschrieben wird.

Auf dieser Seite gibt es einen Abschnitt "Define Properties For The Map" wo bestimmte - ich nenne es mal - Startwerte definiert werden. Fehlen die vielleicht bei dir oder sind sie vielleicht falsch?

Bei einem der auf der Seite vorhandenen Beispiele habe ich z.B. mal bei den Angaben für "center" einen Wert verändert und die Karte konnte nicht mehr richtig benützt werden.


----------



## tombe (22. August 2013)

Ok, und wie genau hast du die Maps jetzt in die Seite eingebunden?

Denn wenn das die einzige Änderung ist die du vorgenommen hast, dann kann es ja (fast) nur daran liegen!

Du könntest vielleicht nochmal auf die vorherige Version mit IFrame umstellen um zu sehen ob es wirklich daran liegt, zumindest wenn das ohne größere Probleme für dich möglich ist.


----------



## tombe (22. August 2013)

Leider kenne ich mich mit den Maps und den verschiedenen Einstellungen nicht wirklich aus. Deshalb kann ich auch nicht sagen was die obigen Funktionen machen oder eben nicht.

Was ich mich aber frage ist warum du von der funktionierenden IFrame Lösung auf include umgestellt hast?


----------



## abuzze (23. August 2013)

Du musst den resize-event der Map auslösen, nachdem du sie geöffnet hast, damit die Grösse der Map neu berechnet und das UI neu gerendert werden kann(ein Element mit display: none hat schliesslich eine reale Grösse von 0x0).


Füge das in der Funktion klapp am Ende der if-condition ein:


```
if(a==2)google.maps.event.trigger(map,'resize');
```


----------



## abuzze (23. August 2013)

Eclipse16V hat gesagt.:
			
		

> Hmmm,
> wie meinst du das?



So: (das 1. mal  reicht)


```
<script type="text/javascript">
        function klapp(a)
        {
            var feldname="klapp"+a;
            var schaltername="schalter"+a;
            if(document.getElementById(feldname).style.display != "block")
            {
                document.getElementById(feldname).style.display = "block";
                document.getElementById(schaltername).src="close.png";
                document.getElementById(schaltername).alt="Schliessen";
                if(a==2)google.maps.event.trigger(map,'resize');
            }
            else
            {
                document.getElementById(feldname).style.display = "none";
                document.getElementById(schaltername).src="open.png";
                document.getElementById(schaltername).alt="Öffnen";
            };
          
        };
    </script>
```


----------



## abuzze (23. August 2013)

Die 2. map hab ich garnicht gesehen.

Dann musst du das ganze auch für die 2. map machen. 

Erstmal musst du die 2. map in einer anderen variablen spiechern(momentan verwendest du für beide den namen "map", die überschreiben sich )

in suche_track_de.js jenes:

```
map = new google.maps.Map(document.getElementById('main-map'), myOptions);
```

in das abändern:

```
map2 = new google.maps.Map(document.getElementById('main-map'), myOptions);
```
(In Script-Bestandteilen die auf diese 2. Map zugreifen wollen musst du dann das Vorkommen von 
	
	
	



```
map
```
auch in 
	
	
	



```
map2
```
ändern , z.B. ein paar Zeilen tiefer 
	
	
	



```
creator=new PolygonCreator(map2);
```
)


In der Funktion klapp dann noch dies hinzufügen:

```
if(a==7)google.maps.event.trigger(map2,'resize')
```


----------

