2014-02-20 2 views
0

Я пытаюсь загрузить это представление с помощью AJAX, я знаю, что функция инициализации запускается неправильно, потому что событие загрузки окна начинается до загрузки представления с помощью AJAX, но я не нахожу способ для этого без этого:Загрузите скрипт GoogleMaps с помощью Ajax

google.maps.event.addDomListener(window, 'load', initialize); 

Извините за мой английский.

function initialize() { 

    var myLatlng = new google.maps.LatLng(1000,1000); 
    var mapOptions = { 

     zoom: 16, 
     center: myLatlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 

    } 

    var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); 
    var marker = new google.maps.Marker({ 

     position: myLatlng, 
     map: map, 
     title: 'Aqui estamos!' 

    }); 

} 
initialize()//Don`t work 
google.maps.event.addDomListener(window, 'load', initialize); 
+0

Спасибо Стив за ваш ответ, что работа. Но я не знаю, как, каждый может объяснить мне, почему я должен создать элемент сценария динамически? – user3332620

ответ

0

От https://developers.google.com/maps/documentation/javascript/examples/map-simple-async:

function initialize() { 
    var mapOptions = { 
    zoom: 8, 
    center: new google.maps.LatLng(-34.397, 150.644) 
    }; 

    var map = new google.maps.Map(document.getElementById('map-canvas'), 
     mapOptions); 
} 

function loadScript() { 
    var script = document.createElement('script'); 
    script.type = 'text/javascript'; 
    script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&' + 
     'callback=initialize'; 
    document.body.appendChild(script); 
} 

window.onload = loadScript; 
Смежные вопросы