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">×</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
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gab es tatsächlich ein paar Probleme mit Ihrem source-code.
initialize()
- Funktion erstellt wurde, aber nie aufgerufen$(document).ready
sollte aufgerufen werden, nachdem jQuery uns geladenmap
sollte eine Globale variable (so wie @Cristiano Fontes gesagt) und nicht einevar map
click
event nie aufgerufen wird. Sie versuchen, die beiden Methoden kombinieren Offenbaren von Zurb bietet, um ein Dialogfenster zu öffnen (mit JS, nur mit HTML). Sie müssen verwenden Sie nur die JS-Methode.#myModal1
nie gelegen im HTML-Code).Und jetzt: Laden Sie die Lösung (Bitte geben Sie uns eine download - /JSFiddle nächsten Zeit, so brauchen wir nicht zu erstellen, diese selbst).
Hoffe, es half!
Hm, die Lösung ist jetzt vorbei... wäre toll gewesen, diese auf JSFiddle...
plus1 "Karte sollte eine Globale variable", shanks Mann.
InformationsquelleAutor MarcoK
Nur hinzufügen, dass es hier
ABER Sie brauchen, um die Karte wie eine Globale variable, so verlieren die var hier
Noch nicht dazu gekommen dies herausgefunden. Grrrrrrrrrr
Ich sehe, es ist ein Fehler mit deinem Jquery, schauen
Uncaught ReferenceError: $ is not defined
und es gibt auch eine;
fehltafter (map, 'resize')
Ja, für etwas, das sein soll Ausschneiden und einfügen, die ich sicher haben Chaos das heck aus es alle. Sie haben zu Recht über Ihre ganze Antwort, ich wusste einfach nicht, wie Sie sich richtig zu ändern, und legen Sie die Korrekturen. Dank hilfreicher Menschen wie Sie selbst, JS-noobs wie mich zu lernen und Hände auf. Stackoverflow.com ist ein Stirn-saver! Vielen Dank für Ihre Zeit und Mühe @Crisiano Fontes!
+1, das Q & Eine nur mich gerettet eine MENGE Zeit! Danke!!!
InformationsquelleAutor Cristiano Fontes
InformationsquelleAutor Mir Shakeel Hussain
Nicht gefunden, wie man einen Kommentar für die Letzte Antwort, aber +1 für Cristiano Fontes Hilfe! Es arbeitete. In meinem Fall:
InformationsquelleAutor Andrey Davis