質問

明確な理由もなく突然機能しなくなったGoogleマップがあります(数か月間コードに触れていませんでしたが、CMSからのラッパーコードは、コーポレートからの通知なしに変更された可能性があります)。

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

(マップ外の厄介なHTMLについてはごめんなさい。そのほとんどは企業の親からのものです...)

drawMarker関数のこの部分に絞り込みました:

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

注意:

  • alert(html);は、情報ウィンドウの正しいHTMLを表示します。
  • html変数のHTMLは確かに有効です。
  • クリックイベントが発生しています(その中のalert('test');によって確認されます)
  • 同じサイトでホストしている別のマップ正常に動作します、同様のコードにもかかわらず
  • FirebugまたはIEに表示されるJavaScriptエラーはありません。

私はしばらくの間、これに頭を悩ませてきました。何が足りないのですか?

役に立ちましたか?

解決 5

これは解決しました。 APIの更新が1つまたは2つのバージョンの何かを壊したと思われます。

他のヒント

Google Maps APIでランダムな問題が発生することがありましたが、1つのAPIバージョンに戻すことで複数回修正されました。つまり、Google Maps API javascript包含文字列が次のような場合http://maps.google.com/maps?file=api&v=2.xd&key=XXXXX 2.x を、 2.132 などのいくつかのバージョン(動作していたときの状態)に戻します。

試用:

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

オブジェクトのスコープを覚えておく<!> quot; marker <!> quot;関数の外にある

最近、この問題が発生しました。イベントハンドラーは確実に実行されましたなど。Googleマップの2つのインスタンス<!> lt; script <!> gt;が判明しました。ページ上のタグ。 1つを削除すると修正されました。

JavaScriptでHTMLから新しい変数を作成するよう強制する:

GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html+'', { maxWidth: 500 });
});
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top