私は JS を初めて使用し、以前の質問に対する回答を見つけて、新しい質問が発生し、再びここに来ました。
Google Map API を含む Reveal Modal があります。ボタンをクリックすると、Reveal Modal がポップアップし、Google マップが表示されます。私の問題は、マップの 3 分の 1 しか表示されていないことです。これは、サイズ変更トリガーを実装する必要があるためです。私の質問は、google.maps.event.trigger(map, 'resize') をどのように実装すればよいですか? この小さなコード スニペットをどこに配置すればよいでしょうか。
ここに私のテストサイトがあります。Google マップ ボタンをクリックして、目前の問題を確認します。 http://simplicitdesignanddevelopment.com/Fannie%20E%20Zurb/foundation/contact_us.html#
Reveal Model スクリプト:
<script type="text/javascript">
$(document).ready(function() {
$('#myModal1').click(function() {
$('#myModal').reveal();
});
});
</script>
私のGoogleマップスクリプト:
<script type="text/javascript">
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(39.739318, -89.266507),
zoom: 5,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
mapOptions);
}
</script>
Google マップを保持する div:
<div id="myModal" class="reveal-modal large">
<h2>How to get here</h2>
<div id="map_canvas" style="width:600px; height:300px;"></div>
<a class="close-reveal-modal">×</a>
</div>
更新 2018-05-22
Map
バージョン 3.32 の Maps JavaScript API の新しいレンダラー リリースでは、サイズ変更イベントはクラスの一部ではなくなりました。
ドキュメントの状態
地図のサイズを変更すると、地図の中心が固定されます
フルスクリーン コントロールが中央を保持するようになりました。
サイズ変更イベントを手動でトリガーする必要はなくなりました。
ソース: https://developers.google.com/maps/documentation/javascript/new-renderer
google.maps.event.trigger(map, "resize");
バージョン 3.32 以降では効果がありません