2010-03-25 62 views
3

我按照api一步一步,但不能加载成功..为什么“谷歌是没有定义”当我加载谷歌JS API

这是我的代码:

<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> 

错误是:google没有定义

为什么??


upedted

我改变我的代码,它的工作,但它火的ErrorHandler,然后警告 “错误!!!”:

<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> 

为什么呢?

感谢

+0

您是否试过这个http://code.google.com/apis/maps/documentation/javascript/basics.html – 2011-12-07 04:58:54

回答

0

如果你与你的浏览器检查JS网址,你会得到以下结果:

var error = new Error("Invalid autoload."); 
error.toString = function() { return this.message; } 
throw error; 

含义,有什么东西不对您的网址。

1

您应该在onGoogleDataLoad()函数内调用Google的东西,以确保它在API加载完成之前不会启动。

function onGoogleDataLoad() { 
    var service = new google.gdata.maps.MapsService('docs-example'); 
    listMaps() 
} 
+0

还提醒“错误!!!” – zjm1126 2010-03-25 07:21:24