我有一个带有google maps api的网站,该网站是异步加载的。但这引发了错误:找不到google。我的代码是:
当我删除标记时,代码可以正常工作。如果我添加了某些示例中指定的标记,为什么它不起作用?
addLoad是一个加载事件。那不是问题……有人可以帮我解决这个问题吗?
您必须先加载Google Maps Javascript API v3,然后才能使用它。您的标记创建正在加载API之前运行。您需要将其移到Initialize函数中,直到API可用时才执行。
<script> function initialize() { var mapOptions = { zoom: 10, center: new google.maps.LatLng(51.817116, 4.780616), mapTypeId: google.maps.MapTypeId.ROADMAP, panControl: false, mapTypeControl: false, scaleControl: false, streetViewControl: false, overviewMapControl: false, rotateControl: false }; var map = new google.maps.Map(document.getElementById('maps'), mapOptions); var customMarker = new google.maps.Marker({ position: new google.maps.LatLng(51.817116, 4.780616), map: map }); }; // end of initialize function loadScript() { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = 'https://maps.googleapis.com/maps/api/js?v=3&sensor=false&' + 'callback=initialize'; document.body.appendChild(script); } addLoadEvent(loadScript); </script>