为什么“google未定义”?当我加载谷歌js api [英] why "google is not defined " when i load google js api
本文介绍了为什么“google未定义”?当我加载谷歌js api的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我遵循 api 一步一步,但无法加载成功。
这是我的代码:
< HTML>
< head>
< meta name =viewportcontent =initial-scale = 1.0,user-scalable = no/>
< / head>
< body>
< script type =text / javascriptsrc =http://www.google.com/jsapi?autoload=%7B%22modules%22%3A%5B%7B%22name%22%3A% 22gdata%22%2C%22version%22%3A%222.x%22%2C%5B%22callback%22%3A%22onLoad%22%2C%22packages%22%3A%5B%22maps%22%5D%5D% 7D%5D%7D>< /脚本>
< script type =text / javascript>
var service = new google.gdata.maps.MapsService('docs-example');
< / script>
< / body>
< / html>
错误在于:google未定义
<为什么??
$ b $ p upedted
我改变了我的代码,它工作正常,但它激发了errorHandler,然后提醒error !!!:
< HTML>
< head>
< meta name =viewportcontent =initial-scale = 1.0,user-scalable = no/>
< / head>
< body>
< script type =text / javascriptsrc =http://www.google.com/jsapi>< / script>
< script type =text / javascript>
//载入最新版本的Google Data JavaScript Client
google.load('gdata','2.x',{packages:['maps']});
函数onGoogleDataLoad(){
//将代码放在这里
}
//客户端加载
google后调用函数.setOnLoadCallback(onGoogleDataLoad);
< / script>
< script type =text / javascript>
var service = new google.gdata.maps.MapsService('docs-example');
listMaps()
函数listMaps(){
var list = document.createElement('ul');
var mapFeedUrl ='http://maps.google.com/maps/feeds/maps/default/owned';
service.getMapFeed(mapFeedUrl,function(feedRoot){
var feed = feedRoot.feed;
var entries = feed.getEntries();
for(var i = 0; i< entries.length; i ++){
var entry = entries [i];
var mapTitle = entry.getTitle()。getText();
var listItem = document.createElement('li');
var listText = document.createTextNode(mapTitle);
listItem.appendChild(listText);
list.appendChild(listItem);
}
document.body.appendChild(list);
},errorHandler)
}
function errorHandler(){
alert('error !!!')
}
< / script>
< / body>
< / html>
为什么?
谢谢
解决方案
您应该在GoogleDataLoad()函数中对以确保API在完成加载之前不会启动。
onGoogleDataLoad(){
var service =新的google.gdata.maps.MapsService('docs-example');
listMaps()
}
i follow the api step by step,but can't load successful..
this is my code:
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
</head>
<body >
<script type="text/javascript" src="http://www.google.com/jsapi?autoload=%7B%22modules%22%3A%5B%7B%22name%22%3A%22gdata%22%2C%22version%22%3A%222.x%22%2C%5B%22callback%22%3A%22onLoad%22%2C%22packages%22%3A%5B%22maps%22%5D%5D%7D%5D%7D"></script>
<script type="text/javascript">
var service = new google.gdata.maps.MapsService('docs-example');
</script>
</body>
</html>
the error is :google is not defined
why ??
upedted
i change my code,and it worked,but it fire the errorHandler and then alert "error!!!":
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
</head>
<body >
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
// Load the latest version of the Google Data JavaScript Client
google.load('gdata', '2.x', {packages: ['maps']});
function onGoogleDataLoad() {
// Put your code here
}
// Call function once the client has loaded
google.setOnLoadCallback(onGoogleDataLoad);
</script>
<script type="text/javascript">
var service = new google.gdata.maps.MapsService('docs-example');
listMaps()
function listMaps() {
var list = document.createElement('ul');
var mapFeedUrl = 'http://maps.google.com/maps/feeds/maps/default/owned';
service.getMapFeed(mapFeedUrl, function(feedRoot) {
var feed = feedRoot.feed;
var entries = feed.getEntries();
for (var i = 0; i < entries.length; i++) {
var entry = entries[i];
var mapTitle = entry.getTitle().getText();
var listItem = document.createElement('li');
var listText = document.createTextNode(mapTitle);
listItem.appendChild(listText);
list.appendChild(listItem);
}
document.body.appendChild(list);
}, errorHandler)
}
function errorHandler(){
alert('error!!!')
}
</script>
</body>
</html>
why ?
thanks
解决方案
you should put any call to the google stuff inside the onGoogleDataLoad()
function to make sure it is not launched before the APIs have finished loading.
function onGoogleDataLoad() {
var service = new google.gdata.maps.MapsService('docs-example');
listMaps()
}
这篇关于为什么“google未定义”?当我加载谷歌js api的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文