【问题标题】:Google Maps API does not always load until my page is refreshed在我的页面刷新之前,Google Maps API 并不总是加载
【发布时间】:2017-12-22 16:57:19
【问题描述】:

我遇到了一个间歇性问题,即我的 Google 地图在最初加载网页时无法加载,从而导致地图出现空白。刷新时它将毫无问题地加载。

这是我在 Chrome 控制台中收到的错误消息:

消息:“initMap 不是函数”
名称:“无效值错误”

我的地图的 HTML:

   <div class="container-fluid">
     <div id="map"> </div> 
   </div>

JavaScript:

function initMap() {
                var uluru = {lat: 28.0394654 , lng: -81.94980420000002};
                var map = new google.maps.Map(document.getElementById('map'), {
                  zoom: 10,
                  center: uluru,
                  //disableDefaultUI: true,
                  gestureHandling: 'cooperative'

                });
                var marker = new google.maps.Marker({
                  position: uluru,
                  map: map
                });

                var triangleCoords = [
                    {lat: 28.0990114, lng: -82.0035785}, //Kathleen Rd - Lakeland 
                    {lat: 28.0186323, lng: -82.11286410000002}, //Plant City 
                    {lat: 27.8953038, lng: -81.97341719999997}, //Mulberry 
                    {lat: 27.8964147, lng: -81.84313739999999}, //Bartow 
                    {lat: 27.9014133, lng: -81.58590989999999},//Lake Wales 
                    {lat: 28.1141841, lng: -81.61785359999999}, //Haines City 
                    {lat: 28.1825147, lng: -81.8239676} //Polk City 
                  ];

                 var expressCoverage = new google.maps.Polygon({
                    paths: triangleCoords,
                    strokeColor: '#333333',
                    strokeOpacity: 0.8,
                    strokeWeight: 2,
                    fillColor: '#333333',
                    fillOpacity: 0.2
                  });
                  expressCoverage.setMap(map);

                }

我已清除浏览器中的缓存,但对问题没有任何影响。该问题在 Chrome、Mozilla 和 Mobile Safari 中仍然存在。地图未加载时,API 密钥会发生什么问题吗?

【问题讨论】:

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


    【解决方案1】:

    可能会出现“InvalidValueError”,因为您没有以正确的格式声明“uluru”。 Google Maps API 中的坐标需要采用 LatLng 格式。尝试替换

    var uluru = {lat: 28.0394654 , lng: -81.94980420000002};
    

    与

    var uluru = new google.maps.LatLng(28.0394654, -81.94980420000002);
    

    【讨论】:

    • 这绝对解决了我的问题。非常感谢!
    • 很高兴听到这个消息!
    猜你喜欢
    • 2013-01-09
    • 1970-01-01
    • 2012-07-28
    • 2020-04-03
    • 1970-01-01
    • 1970-01-01
    • 2015-02-09
    • 2015-04-28
    • 2015-09-26
    相关资源
    最近更新 更多