使用JQuery由另一个页面调用页面时,Google地图无法加载

时间:2012-08-12 20:48:24

标签: jquery-mobile

当我直接打开页面时,将加载地图部分。但是,当我从另一个页面上的链接打开页面时,将不会加载地图。我看到以前的帖子说脚本不能在Head标签中,因为它们不会加载。但是,当我将它们放在data-role="page"部分时,它仍然无法加载地图。我的代码如下。提前谢谢。

<!DOCTYPE html>    
<html lang="en">         
  <head>             
    <title>Boilerplate              
    </title>             
    <meta charset="utf-8" />             
    <meta name="viewport" content="width=device-width,initial-scale=1" />             
    <link rel="stylesheet" href="http://code.jquery.com/mobile/latest/jquery.mobile.min.css" />        
<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>        
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>        
<script type="text/javascript" charset="utf-8" src="http://code.jquery.com/mobile/latest/jquery.mobile.min.js"></script>        
<script type="text/javascript" charset="utf-8" src="./ui/jquery.ui.map.js"></script>        
<script type="text/javascript">
           $(function() {
             $('#map_canvas').gmap();
           });
            </script>                                                                                   
  </head>         
  <body>             
    <div id="detailpage" data-role="page" data-theme="c" data-add-back-btn="true">                     
      <div data-role="header" data-id="head1" data-position="fixed">  <h1>Header</h1>                 
      </div>  
      <!-- /header -->                 
      <div data-role="content">              
        <hr>          <b>Title Section</b>                                                            
        <hr>              This is a detailed description section where we can insert some content here with                                                 
        <br>              some page breaks in it.                                                 
        <br>                                                 
        <hr>              This section contains details about the businsess and some other controls and forms.             
        <br>            
        <br>            
        <hr>                           
        <div id="map_canvas" style="width:100%;height:250px">                     
        </div>          
      </div>
      <!-- /content -->           
      <div data-role="footer" data-id="foot1" data-position="fixed">                     
        <div data-role="navbar">                                                                                                                  
          <ul>                                                                                                                                    
            <li>                                                                                                                         
            <a href="a.html">D</a>                                                                                                                         
            </li>                                                                                                                                     
            <li>                                                                                                                         
            <a href="b.html">C</a>                                                                                                                         
            </li>                                                                                                                                     
            <li>                                                                                                                         
            <a href="c.html">P</a>                                                                                                                         
            </li>                                                                                                                                    
          </ul>                                                                                           
        </div>                                                                                         
        <!-- /navbar -->           
      </div>  
      <!-- /footer -->             
    </div>         
  </body>    
</html>

1 个答案:

答案 0 :(得分:0)

标头仅在访问的第一个JQuery Mobile页面上加载。每个页面的脚本应包含在该页面的data-role="page" div中。

此外,您的Google地图加载应该如下所示。

var latlng = new google.maps.LatLng(lat, lng);
var myOptions = {
     zoom: 12,
     center: latlng,
     mapTypeId: google.maps.MapTypeId.SATELLITE
};

map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);

以下是Google Maps API上的Google getting started section