2017-02-09 10 views
0

私はgoogle maps apiを使用して、ワードプレスのページに取り組んでいます。この関数は外部ファイルでは実行されません

私のファイル関数:(マップの関数である)

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

2つの原因がある場合もあります。

1 window.onloadイベントが既に発生したときに関数を宣言しているので、決して起こらない何かを聞いています。

2.- initMapを宣言する機会を得る前に、Googleマップのスクリプトが解決します。

私はスクリプトの順番を入れ替えて、window.onloadを削除してみます。グローバルスコープでinitMap関数を宣言するだけです。

関連する問題