我使用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 :(得分:0)
可能有两个原因:
1.-当window.onload事件已经发生时,您正在声明该函数,因此它会继续侦听永远不会发生的事情。
2.- Google地图的脚本会在你有机会宣布职能initMap
之前解决。
我尝试切换脚本的顺序,然后删除window.onload
。只需在全局范围内声明initMap
函数。