Wie man google nutzt.maps.event.trigger(map, 'Größe')

Ich bin neu in JS, und gefunden haben, die Antwort auf eine Vorherige Frage, das brachte eine neue Frage, die mich dazu brachte, wieder hier.

Ich habe einen Reveal-Modal, enthält eine Google-Map-API. Wenn auf eine Schaltfläche geklickt wird, wird der Reveal-Modal öffnet sich und zeigt die Google-Karte. Mein problem ist, dass nur ein Drittel der Karte angezeigt wird. Dies ist, weil ein resize-trigger umgesetzt werden muss. Meine Frage ist, wie Binde ich den google.maps.event.trigger(map, 'resize')? Wo platziere ich dieses kleine code-snippet?

Hier ist meine test-site. Klicken Sie auf der Google-Map-Schaltfläche, um das problem an der hand.
http://simplicitdesignanddevelopment.com/Fannie%20E%20Zurb/foundation/contact_us.html#

Zeigen die Modell-Skript:

<script type="text/javascript">
  $(document).ready(function() {
  $('#myModal1').click(function() {
  $('#myModal').reveal();
       });
          });
 </script>

Meine Google Map Script:

<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>

Div-hält die Google-Karte:

  <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">&#215;</a>
 </div>

UPDATE 2018-05-22

Mit einem neuen renderer release in der version 3.32 von Maps JavaScript API für das resize-Ereignis ist nicht mehr ein Teil der Map Klasse.

Gibt die Dokumentation

Wenn die Karte geändert wird, wird die Karte Mitte fixiert ist

  • Den full-screen-Controller nun bewahrt center.
  • Ist es nicht mehr auslösen müssen das resize-Ereignis manuell.

Quelle: https://developers.google.com/maps/documentation/javascript/new-renderer

google.maps.event.trigger(map, "resize"); keine Wirkung ab version 3.32

Das ist etwas komisch, das ich noch nicht gesehen. Ich öffnete Ihre Website und wie Sie sagten die Karte nicht vollständig angezeigt. Allerdings, wenn ich öffnen Sie die chrome-Konsole mit F12 oder dem firebug in mozilla, sofort Ihre Karte wird vollständig angezeigt und bis ich wieder die Seite aktualisieren, bekomme ich die komplette Karte.
Ich dont haben eine Lösung auf Ihre Frage, aber fand dies interessant. +1.
Danke für die +1. Ich habe versucht, hinzufügen von ein js-event kaufen, habe nicht bekommen, etwas zu arbeiten. Jemand da draußen wissen, was Los ist.
wenn Sie möchten, ein Beispiel: jsfiddle.net/RASG/vA4eQ

InformationsquelleAutor Jeremy Flaugher | 2012-10-24

Schreibe einen Kommentar