谷歌地图api加载失败?
我正在尝试使用谷歌地图api在我的网页中包含谷歌地图 在我的html中,我的标题中有:谷歌地图api加载失败?,api,load,maps,onload,Api,Load,Maps,Onload,我正在尝试使用谷歌地图api在我的网页中包含谷歌地图 在我的html中,我的标题中有: <head> <script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false"> </script> </head> 请注意,我使用的是“https”,否则会出现安全错误 我的身体标签是: <body window.onload="init
<head>
<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false"> </script>
</head>
请注意,我使用的是“https”,否则会出现安全错误
我的身体标签是:
<body window.onload="initialize()">
我有一个包含地图的div:
<div id="map_canvas"></div>
在外部javascript文件中,我有一个函数initialize(),该函数应将地图加载到map_canvas div中。我尝试在自己的计算机上编写该页面,并使用浏览器访问该页面,但没有运行web服务器,结果很好-地图显示为它应有的状态
我尝试了“inspect element”,得到的错误是
Uncaught TypeError: Object #<Document> has no method 'write' js?sensor=false:8
uncaughttypeerror:Object#没有方法'write'js?sensor=false:8
对应于此代码段的:
function getScript(src) {
document.write('<' + 'script src="' + src + '"' +
' type="text/javascript"><' + '/script>');
}
函数getScript(src){
文件。写(“”);
}
知道我哪里出错了吗?我唯一能想到的是,地图不能在第页的其余部分之前加载,但如果是这样,我不知道如何解决这个问题……非常感谢您的帮助!我在谷歌上搜索了好几个小时,运气不好
我认为问题可能是因为我使用XHTML编写,但api使用了“document.write”,这是非法的-有没有办法解决这个问题?终于在这里找到了解决方案: 我必须在初始化函数之后添加loadScript函数,例如:
function initialize() {
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644)
};
var map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
}
function loadScript() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&' +
'callback=initialize';
document.body.appendChild(script);
}
window.onload = loadScript;
我在这里找到了解决方案: