使用jQuery load()在Div上的页面上加载Javascript

时间:2013-05-06 21:35:23

标签: javascript jquery

我有此页面使用Google Maps Javascript API(extPage.php):

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>

<script>


function initialize() {

    var cord = new google.maps.LatLng(28.545078,-81.377196);

    var mapOptions = {
        zoom: 15,
        center: cord,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };

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

}

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


</script>

</head>

<body>

<div id="map-canvas"style="width:600px; height:500px"></div>

</body>

</html>

该页面加载正常,但我试图加载到另一页面上的div。我这样做(test.php):

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

<script type="text/javascript">


    $(document).ready(function() {

        $("#LoadBut").click(function() {

            $("#extDiv").load('extPage.php');

        });

    });


</script>

</head>


<body>

<input type="button" id="LoadBut" value="Load">

<div id="extDiv"></div>


</body>

</html>

当我像这样运行时,我收到错误ReferenceError: google is not defined。我已经尝试将<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>移到test.php页面。错误消息消失但地图未加载。

我从来没有确定在这样的div内部的页面上处理Javascript的最佳方法。

任何帮助都会很棒。

谢谢!

1 个答案:

答案 0 :(得分:0)

根据我对您的要求的理解,您可以使用 Google Static Maps API,whcih不需要任何JavaScript。

您只需使用适当的参数将带有静态地图网址引用的img标记放入您的页面。以你的例子:

<div id="extDiv">
    <img src="https://maps.googleapis.com/maps/api/staticmap?center=28.545078,-81.377196&zoom=15&size=600x500&maptype=roadmap&sensor=false" />
</div>

请参阅文档顶部的注释,了解包含API密钥是否适用于您的项目。