引用错误:刷新页面和删除缓存时未定义 Google



我正在做一个关于巴士服务、车辆租赁和包裹的网站。有一个名为"centrales"的部分,您可以在其中使用与此示例融合的Google地图:
http://jsfiddle.net/maunovaha/jptLfhc8/

放大办公室和中央办公室将拥有的不同位置。 相同的坐标。

我遇到的问题是,在执行(命令+ r(时,地图显示没有任何错误。但是如果我这样做(shift + 命令 + r(,它不会出现,并且会抛出错误 参考错误:谷歌未定义。这是页面: http://allabordo.borealstudio.mx/centrales.shtml

我在 centrales 页面中的 javascript 如下:

<script>
function initMap(){
//
}
</script> 
<script src="https://maps.googleapis.com/maps/api/js?key=aquiVaMiLlave&callback=initMap" async defer></script>

还有我自定义的那个.js用于缩放:

var map;
var chicago = new google.maps.LatLng(41.850033, -87.6500523);
function ZoomControl(controlDiv, map) {
controlDiv.style.padding = '5px';
var controlWrapper = document.createElement('div');
controlWrapper.style.backgroundColor = 'white';
controlWrapper.style.borderStyle = 'solid';
controlWrapper.style.borderColor = 'gray';
controlWrapper.style.borderWidth = '1px';
controlWrapper.style.cursor = 'pointer';
controlWrapper.style.textAlign = 'center';
controlWrapper.style.width = '32px'; 
controlWrapper.style.height = '64px';
controlDiv.appendChild(controlWrapper);
var zoomInButton = document.createElement('div');
zoomInButton.style.width = '32px'; 
zoomInButton.style.height = '32px';
zoomInButton.style.backgroundImage = 'url("http://placehold.it  /32/00ff00")';
controlWrapper.appendChild(zoomInButton);
var zoomOutButton = document.createElement('div');
zoomOutButton.style.width = '32px'; 
zoomOutButton.style.height = '32px';
zoomOutButton.style.backgroundImage = 'url("http://placehold.it/32/0000ff")';
controlWrapper.appendChild(zoomOutButton);
google.maps.event.addDomListener(zoomInButton, 'click', function() {
map.setZoom(map.getZoom() + 1);
});
google.maps.event.addDomListener(zoomOutButton, 'click', function() {
map.setZoom(map.getZoom() - 1);
});  
}
function initialize() {
var mapDiv = document.getElementById('map');
var mapOptions = {
zoom: 12,
center: chicago,
disableDefaultUI: true,
}
map = new google.maps.Map(mapDiv, mapOptions);

var zoomControlDiv = document.createElement('div');
var zoomControl = new ZoomControl(zoomControlDiv, map);
zoomControlDiv.index = 1;                                      
map.controls[google.maps.ControlPosition.TOP_LEFT].push(zoomControlDiv);
}
initialize();

问题是您正在异步加载 Google 地图脚本,因此您的脚本在定义 Google 地图之前执行

只需删除异步延迟并在包含脚本后放置代码即可。这应该可以解决问题

相关内容

  • 没有找到相关文章

最新更新