我正在做一个公交车服务,车辆租赁和包裹的网站。有一个名为"centrales“的部分,您可以在其中使用与此示例融合的Google Map:
http://jsfiddle.net/maunovaha/jptLfhc8/
放大办公室和中心办公室将拥有的不同位置。有相同的坐标。
我遇到的问题是,当执行(command + r)时,映射出现时没有任何错误。但是如果我这样做了(shift + command + r),它就不会出现,并且会抛出错误ReferenceError: google is not defined。这是页面: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>
我在custom.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();
发布于 2018-09-29 02:49:34
问题是,您正在加载Google Map脚本async,因此您的脚本在定义Google地图之前执行
只需删除异步延迟,并在包含脚本后将代码放入。这应该可以解决这个问题
https://stackoverflow.com/questions/52560291
复制相似问题