无法使用ajax将Google地图从页面加载到另一个页面中的div

时间:2012-11-26 13:31:53

标签: javascript jquery ajax google-api

我正在尝试使用此javascript将一个html页面加载到另一个html页面


$('.myajax').click(function() {
    var myhref=$(this).attr('href');
    $('#contentdiv').hide().load(myhref).fadeIn('slow');
    return false;
});

每当我尝试将Google地图加载到名为contentdiv的div中时,就会出现问题。每当我尝试这样做时,浏览器上都不会显示任何内容;它完全空白。包含Google地图的页面如下:


<!DOCTYPE html>
<html> 
<head> 
   <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
   <title>Google Maps Geocoding Demo</title> 
   <script src="http://maps.google.com/maps/api/js?sensor=false" 
           type="text/javascript"></script> 
</head> 
<body> 
   <div id="map" style="width: 400px; height: 300px;"></div> 
   <script type="text/javascript"> 
   var address = 'London,UK';
   var map = new google.maps.Map(document.getElementById('map'), { 
       mapTypeId: google.maps.MapTypeId.ROADMAP,
       zoom: 6
   });

   var geocoder = new google.maps.Geocoder();
   geocoder.geocode({
      'address': address
   }, 
   function(results, status) {
      if(status == google.maps.GeocoderStatus.OK) {
         new google.maps.Marker({
            position: results[0].geometry.location,
            map: map
         });
         map.setCenter(results[0].geometry.location);
      }
      else {
         // Google couldn't geocode this request. Handle appropriately.
      }
   });

   </script> 
</body> 
</html>

有人可以指出错误吗?


1 个答案:

答案 0 :(得分:2)

当您使用$.load()时,它会加载所有已输出的数据,因此您在<head>中没有加载任何内容,您没有加载google地图api,也没有加载javascript,至少在某种程度上不加载它可以被处理我想,从来没有尝试过,但它的定义不是$ .load()的用途。

您必须使用iframe或尝试实际包含Google地图库,并在实际页面中运行javascript代码,包括谷歌地图。