2017-02-09 49 views
0

我使用Google Maps API在wordpress頁面上工作。該函數不會在外部文件中運行

我的文件功能:

function liceoucatolica_estilo() { 

    // API google maps 
    wp_enqueue_script('maps', 'https://maps.googleapis.com/maps/api/js?key=AIzaSyAJq5xO31rYRAqv5h6yUZTOaHwDX2zjNlo&callback=initMap', array(), false); 

    // Cargar scripts 
    wp_enqueue_script('main', get_template_directory_uri() . '/js/main.js',null,false); 

} 
add_action('wp_enqueue_scripts','liceoucatolica_estilo'); 

我的文件main.js(在這地圖的功能):

window.onload = function(){ 

    function initMap(){ 
    var campus = {lat: 4.634241, lng: -74.068513}; 

    // Create a map object and specify the DOM element for display. 
    var map = new google.maps.Map(document.getElementById('mi_mapa'), { 
     center: campus, 
     scrollwheel: false, 
     zoom: 17 
    }); 

    var marker = new google.maps.Marker({ 
     position: campus, 
     map: map, 
     title: 'Liceo de la Universidad Católica' 
    }); 
    } 

}; 

如果我在,如果它的頁眉或頁腳複製功能工作,但如果我只把它留在Main.js不起作用

回答

0

可能有兩種原因:

1 .-當window.onload事件已經發生時,你聲明瞭函數,所以它一直在監聽永遠不會發生的事情。

2.-谷歌地圖的腳本在您有機會宣佈功能initMap之前就已解決。

我想嘗試切換腳本的順序,並根本刪除window.onload。只需在全球範圍內聲明initMap函數即可。

相關問題