Google Ajax API统一了Google自己的JS库和当前主流的JS库,包括YUI、Ext.JS、Dojo、jQuery、SWFObject等,以及不同的版本,还有压缩和不压缩的,为开发者提供动态自动加载的特性,打开了一个新的局面。
加载
在Google网站上,提示需要API key才能使用,而实际上是不需要的,Google已经全部放开了,如下简单代码即可完成Google Ajax API的引用:
- <script type="text/javascript" src="https://www.google.com/jsapi"></script>
GoogleLoader
从其整体上看,Google Ajax API关键是Loader,各个JS库均是以模块的方式存在,通过动态加载,其规则为:
- google.load(moduleName, moduleVersion, optionalSettings)
其中:
moduleName:模块名;
moduleVersion:模块版本;
optionalSettings:可选设置,属性有:
callback:加载完成的回调;
language:加载模块的UI语言;
nocss:bool类型,是否加模块相关的CSS,默认为false;
packages:指定模块使用过程中会涉及到的其它相关包;
base_domain:指定模块的顶级域,如加载GoogleMap模块maps时,指定域为ditu.google.cn,会自动加载中文版的地图API;
other_params:其它参数,通过<script>标签完成,细节参考Google网站。
目前不支持动态加载的JS库有:
Friend Connect Earth gData Orkut 它们不支持回调。示例
加载模块
- <script type="text/javascript">
- google.load("search", "1");
- google.load("jquery", "1.4.2");
- google.load("jqueryui", "1.7.2");
- </script>
回调
- function mapsLoaded() {
- var map = new google.maps.Map2(document.getElementById("map"));
- map.setCenter(new google.maps.LatLng(37.4419, -122.1419), 13);
- }
- function loadMaps() {
- google.load("maps", "2", { "callback" : mapsLoaded});
- }