Domanda

Ho una Google Map che ha smesso improvvisamente di funzionare senza una ragione apparente (non avevo toccato il codice per mesi, ma il codice wrapper del nostro CMS potrebbe essere cambiato senza che Corporate me lo dicesse).

http://www.democratandchronicle.com/section/builder

(mi dispiace per il cattivo HTML fuori dalla mappa, la maggior parte di questo viene dal nostro genitore aziendale ...)

L'ho ridotto a questa parte della mia funzione drawMarker:

GEvent.addListener(marker, 'click', function() {
  marker.openInfoWindowHtml(html, { maxWidth: 500 });
});

Nota:

  • alert(html); visualizza l'HTML corretto per la finestra infow.
  • L'HTML nella variabile html è effettivamente valido.
  • L'evento clic viene generato (confermato da alert('test'); al suo interno)
  • Un'altra mappa che ospito sullo stesso sito funziona bene , nonostante un codice simile.
  • Nessun errore JavaScript in Firebug o IE che posso vedere.

Ho battuto la testa contro questo per un po '. Cosa mi sto perdendo?

È stato utile?

Soluzione 5

Questo si è risolto da solo. Sospetto che un aggiornamento dell'API abbia rotto qualcosa per una versione o due.

Altri suggerimenti

A volte ho avuto problemi casuali con l'API di Google Maps e più di una volta è stato risolto tornando indietro di una versione dell'API. cioè se la tua stringa di inclusione javascript dell'API di google maps è così http://maps.google.com/maps?file=api&v=2.xd&key=XXXXX cambia il 2.x in qualcosa di alcune versioni indietro (quando funzionava) come 2.132 o qualcosa

Prova:

GEvent.addListener(marker, 'click', function() {
  this.openInfoWindowHtml(html, { maxWidth: 500 });
});

ricorda l'ambito dell'oggetto " marker " è fuori dalla tua funzione

Di recente ho riscontrato questo problema, i gestori di eventi hanno sicuramente funzionato, ecc. Si è scoperto che c'erano due istanze di Google Maps < script > tag sulla pagina. Rimuovendone uno riparato.

Prova a forzare JavaScript per creare una nuova variabile dal tuo HTML:

GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html+'', { maxWidth: 500 });
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top