InvalidStateError: "In einem grundlegenden Google Map-Tutorial-Beispiel wurde versucht, ein Objekt zu verwenden, das nicht oder nicht mehr verwendbar ist."

8

Ich habe ein XML, das über XSLT in HTML umgewandelt wird. Der XML-Code kann JavaScript enthalten und übersetzt diesen korrekt in HTML, wie auch auf vielen anderen Seiten. Es funktioniert einfach nicht mit GoogleMaps, und ich vermute, dass mein JavaScript irgendwo fehlerhaft ist.

Die relevanten Abschnitte des resultierenden HTML sehen wie folgt aus:

Was passiert im HTML / in den Skripten:

  • Die API wird von googleapis.com geladen
  • Ein div mit der ID map_canvas wird erstellt.
  • Es wurde eine Funktion start () definiert, die über <body onload="start();"> .
  • gestartet wird
  • In dieser Funktion wird eine Variable map_canvas erstellt und an die Variable übergeben Verweis auf das div-Objekt namens map_canvas.
  • Um zu kontrollieren, dass dieser Schritt funktioniert, gebe ich dem div den neuen Hintergrund Farbe rot.
  • Es funktioniert.
  • Als nächstes möchte ich die Variable var_options erstellen und initial setzen Werte für center, zoom und mapTypeId.
  • Um zu kontrollieren, dass dieser Schritt funktioniert, gebe ich dem div den neuen Hintergrund Farbe blau.
  • Das funktioniert nicht, es bleibt rot.
  • Daher wurde diese Anweisung nicht ausgeführt.
  • Also überprüfe ich, ob ich überhaupt auf das Objekt google.maps zugreifen kann.
  • Wenn ja, gebe ich dem div die neue Hintergrundfarbe grün.
  • Das funktioniert, damit ich auf dieses Objekt zugreifen kann.
  • Gegenprüfung: Wenn ich die Anweisung zum Laden der API auskommentiere, wird die Farbe ändert sich nicht.

Für mich sieht das so aus, als ob das Folgende irgendwo fehlerhaft ist.

%Vor%

Aber nach einigen Stunden kann ich immer noch nicht herausfinden, was es ist.

%Vor%     
Herb 20.06.2013, 11:32
quelle

3 Antworten

4

Ich habe diese Google-Seite gefunden. ( Bearbeiten: Ab dem 16. Juni 2017 ist der Link unterbrochen.) Es scheint jedoch undokumentiert zu sein. Klicken Sie auf die Schaltfläche. Funktioniert sowohl auf FF als auch auf IE. Überprüfen Sie das Markup und das Javascript, es lädt die Karte über einen Rückruf.

Danke, dass Sie mich auf den richtigen Weg gebracht haben.

%Vor%     
Herb 20.06.2013, 15:00
quelle
11

Ich finde die häufigste Ursache für diesen Fehler ist einfach eine ungültige img src.

    
Peter Drinnan 03.11.2013 01:28
quelle
3

Mein Fehler war etwas ähnliches (weshalb ich diesen Beitrag gefunden habe), aber nur im Internet Explorer (Version 11):

%Vor%

Dies wurde verursacht, weil ich Svg-Bilder als Marker verwendet habe:

%Vor%

Das Umschalten auf PNG-Bilder anstelle von SVG löste mein Problem!

    
Wietse 28.10.2014 13:55
quelle