Google Maps API-GMarker.openInfoWindowHtml()が機能しなくなった
-
03-07-2019 - |
質問
明確な理由もなく突然機能しなくなった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 });
});
所属していません StackOverflow