1

我已经为这个问题搜索了很多解决方案,但没有一个适合我。我想将 Google 地图集成到 Wordpress 页面中,而不使用插件和嵌入。

在 header.php 的头部,我附上了这个:

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=*********&sensor=true"> </script>

然后在 header.php 我也放了这个:

<body onload="initialize()"> 

但现在我不知道把脚本放在哪里:

function initialize() {
        var mapOptions = {
            center: new google.maps.LatLng(50.371, -4.136),
            zoom: 12,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
        }
        google.maps.event.addDomListener(window, 'load', initialize);

function loadScript() {
        var script = document.createElement("script");
        script.type = "text/javascript";
        script.src = "https://maps.googleapis.com/maps/api/js?key=AIzaSyDo2uLLlKn3xuYolvd0VNzBujoZ952YywE&sensor=true&callback=initialize";
        document.body.appendChild(script);
        }
window.onload = loadScript;

如果有人有解决方案,我将不胜感激,非常感谢!

4

1 回答 1

0

您可以将代码放入一个js文件并在api脚本包含之后加载它。更简洁的代码是:

(function () {
    function initMap() {
        var mapOptions = {
            center: new google.maps.LatLng(50.371, -4.136),
            zoom: 12,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
    }

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

使用这个自调用匿名函数,您无需引入全局变量并封装您的代码。

于 2013-08-04T15:38:22.710 回答