为什么'你好,'来自https://developers.google.com/maps/documentation/javascript/tutorial的示例 出现这个错误?
这是我的代码:
<!DOCTYPE html> <html> <head>
<style type="text/css">
html, body, #map-canvas { height: 100%; margin: 0; padding: 0;}
</style>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=API_KEY">
</script>
<script type="text/javascript">
function initialize() {
var mapOptions = {
center: { lat: -34.397, lng: 150.644},
zoom: 8
};
var map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script> </head> <body> <div id="map-canvas"></div> </body> </html>
答案 0 :(得分:1)
显然你的HTML文件在你的本地文件系统上,这解释了错误。
出于安全目的,为了避免混合使用googleMap API在http和https上提供的元素,API的javascript引用外部元素,以双斜杠开头(即://
),它将使用相同的协议当前的HTML文件。
当您从本地文件系统进行测试时,您的网址以file://
开头,因此//
会引用file://
在您的情况下,javascript会向//maps.gstatic.com/mapfiles/closedhand_8_8.cur
发出请求,该请求会转换为file://maps.gstatic.com/mapfiles/closedhand_8_8.cur
在普通 http服务器上,它会转换为http://maps.gstatic.com/mapfiles/closedhand_8_8.cur
https://maps.gstatic.com/mapfiles/closedhand_8_8.cur