Я пытаюсь инициализировать загрузку карты простым нажатием кнопки, но не повезло. Кроме того, в javascript-консоли отсутствуют ошибки.google maps api loading map on button click
Если я изменю его на google.maps.event.addDomListener(window, 'load', initialize);
, он отлично работает.
var showMap = $('#show-map');
function initialize() {
var mapOptions = {
\t center: { lat: 0, lng: 0 },
\t zoom: 8
\t };
\t var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
}
google.maps.event.addDomListener(showMap, 'click', initialize);
#map-canvas {
height: 30em;
width: 30em;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCgxY6DqJ4TxnRfKjlZR8SfLSQRtOSTxEU"></script>
<button id="show-map">Show Map</button>
<div id="map-canvas"></div>
_ «Слушатели Google Maps специфичны для элементов карты» _ - не совсем верно. 'addListener()' is, но вы также можете использовать 'addDomListener()'. См. [Прослушивание событий DOM] (https://developers.google.com/maps/documentation/javascript/events#DomEvents) в документации – duncan
@duncan Спасибо за это. Я отредактирую свой ответ. – bcdan