谷歌地图v3 api地图没有完全加载

时间:2015-01-16 19:39:30

标签: javascript jquery html google-maps google-maps-api-3

我正在构建一个应用程序,其中包含显示附近餐馆的地图。

地图显示,但需要很长时间才能加载,而且实际上从未完全加载。

我正处于截止日期,我已经尝试了各种解决方案而没有运气。

有人请帮忙!

见下面的代码:

    <!DOCTYPE html>
<html> 
<head> 
  <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
  <title>Food & Drink</title> 
  <script src="http://maps.google.com/maps/api/js?sensor=false" 
          type="text/javascript"></script>


<body>
  <div id="map" style="width: 360px; height: 300px;"></div>

  <script type="text/javascript">
    var locations = [
      ['Little Shebas', 39.833691, -84.892375, 1],
      ['Roscoes Coffee Bar & Tap Room', 39.833891, -84.892130, 2],
      ['Ullerys Homemade Icecream', 39.834401, -84.889190, 3],
       ['Firehouse BBQ and Blues', 39.833630, -84.891887, 4],
      ['Tin Lizzie Cafe', 39.829140, -84.890857, 6]
      ['Joes Pizza', 39.834409, -84.889822, 5],
    ];

    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 25,
      center: new google.maps.LatLng(39.830184, -84.893401),
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    var infowindow = new google.maps.InfoWindow();

    var marker, i;

    for (i = 0; i < locations.length; i++) {  
      marker = new google.maps.Marker({
       position: new google.maps.LatLng(locations[i][1], locations[i][2]),
        map: map
      });

      google.maps.event.addListener(marker, 'click', (function(marker, i) {
        return function() {
            infowindow.setContent(locations[i][0]);
            infowindow.open(map, marker);
        }
      })(marker, i));
    }
    </script>
    </body>
    </html>

2 个答案:

答案 0 :(得分:1)

我无法确认您描述的行为。一切似乎都运行良好,你的代码看起来应该可以工作。

查看代码的working example。我玩了初始缩放级别并调整了中心。您指定的中心并非真正靠近标记,并且缩放级别起初非常高,我认为地图没有加载。

var center = new google.maps.LatLng(39.833691, -84.892375);

google.maps.Map(document.getElementById('map'), {
    zoom: 15,
    center: center,
    mapTypeId: google.maps.MapTypeId.ROADMAP
});

答案 1 :(得分:1)

我相信你阵中的问题。查看chrome dev工具中的代码,它显示的locations数组包含5个元素(不是6个),其中第五个元素是undefined。您在第5个元素后缺少逗号,并在最后一个元素后面有一个尾随逗号。试图访问该未定义元素的属性是抛出在页面上停止执行的javascript异常。此外,在初始缩放时,您设置的任何内容都不可见。缩小显示带有标记的地图。将地图选项中的初始缩放设置为14。