Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
谷歌地图api加载失败?_Api_Load_Maps_Onload - Fatal编程技术网

谷歌地图api加载失败?

谷歌地图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

我正在尝试使用谷歌地图api在我的网页中包含谷歌地图

在我的html中,我的标题中有:

<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;
我在这里找到了解决方案: