Google Maps V3部分放在左上角。我尝试了以下方法:
>添加google.maps.event.trigger(map,’resize’);地图初始化后。
>重新排列< script>标签在索引文件中
但没有一个对我有用。如何解决这个问题。这个问题有正式的错误和解决方案吗?
index.html
<!DOCTYPE html> <html lang="en"> <head> <Meta charset="utf-8"> <title>Bootstrap,from LayoutIt!</title> <Meta name="viewport" content="width=device-width,initial-scale=1.0"> <Meta name="description" content=""> <Meta name="author" content=""> <!-- Bootstrap css files --> <link href="stylesheets/bootstrap.min.css" rel="stylesheet"> <link href="stylesheets/bootstrap-responsive.min.css" rel="stylesheet"> <link href="stylesheets/style.css" rel="stylesheet"> </head> <body> <div id="contentbar"> <div id="dashboard-content" class="contentbar-main"> Some Content </div> <div id="summary-content" class="contentbar-main" style="display:none;"> <div class="container-fluid"> <div class="row-fluid"> <div class="span12"> <div class="row-fluid"> <div class="span7" id="sidebarid"> <p>Responsive web design is an approach,I often call it a mindset,because you have to change the way you think when you're going responsive. The basic idea behind it is: one design to rule them all - no m.domain.com,no touch.domain.com,no 3 separate CSS files,no 7 PSD files for each device or each orientation - just “domain.com” looking the same on desktop,tablet and phone.</p> </div> <div class="span5" id="contentbarid"> <div class="row-fluid"> <div class="span12"> <input type="button" value="toggle" id="toggle-button"> <div id="map-canvas" style="width:100%;height:400px;"></div> </div> </div> <div class="row-fluid"> <div class="span12"> <p>Responsive web design is an approach,tablet and phone.</p> </div> </div> </div> </div> </div> </div> </div> </div> <!-- jQuery scripts --> <script type="text/javascript" src="javascripts/jquery.min.js"></script> <!-- Bootstrap script --> <script type="text/javascript" src="javascripts/bootstrap.min.js"></script> <!-- My basic script file--> <script type="text/javascript" src="javascripts/my-script.js"></script> <!--Google Map server url--> <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAngjBDpe4ep15u5dvlnbZbn1ghA5uISZY&sensor=false"></script> </body> </html>
my-script.js
var map; $(document).ready(function(){ google.maps.visualRefresh = true; initializeMap(); }); //Load Map in Summary Tab function initializeMap() { var mapOptions = { center: new google.maps.LatLng(-34.397,150.644),zoom: 8,mapTypeId: google.maps.MapTypeId.ROADMAP }; map = new google.maps.Map(document.getElementById("map-canvas"),mapOptions); google.maps.event.trigger(map,'resize'); }
解决方法
我之前也遇到过这个问题,并通过等待地图的“空闲”状态(即完成时)修复它,然后调用resize:
google.maps.event.addListenerOnce(map,'idle',function() { google.maps.event.trigger(map,'resize'); });