快速业务通道

用Google Gears增强您的Web应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
="text/javascript">  // 创建 Geolocation 对 象   var geo = google.gears.factory.create (''beta.geolocation'');   var map;   function  updatePosition(p) {   alert(''Current lat/lon is: '' +  p.latitude + '','' + p.longitude);  // 在地图中显示用户当前位 置    map.setCenter(new GLatLng (p.latitude,p.longitude),13);  }  function  handleError(positionError) {   alert(''Attempt to get  location failed: '' + positionError.message);  }    function load() {// 初始化地图     if  (GBrowserIsCompatible()) {     map = new GMap2 (document.getElementById("map"));     map.addControl(new  GLargeMapControl());     map.addControl(new  GSmallZoomControl());     map.addControl(new GScaleControl ());     map.addControl(new GMapTypeControl());      map.addControl(new GOverviewMapControl());     map.setCenter (new GLatLng(39.617, 116.197), 13);    }   }  function gotoMyposition(){  // 获取用户当前位置    geo.getCurrentPosition(updatePosition, handleError);   }   </script>  </head>  <body  onload="load()" onunload="GUnload()">    <h1>Hello,Google Maps API and Google Gears Geolocation  API</h1>   <div id="map" style="width: 800px;  height: 600px"></div>   <br/>  <input  type="button" value="Go to my position" onClick="gotoMyposition ()"/>  </body>  </html>

上面代 码中的关键点是用 geo.getCurrentPosition(updatePosition, handleError) 来 获取用户的当前位置,当 Google Gears 拿到用户的当前位置信息后,将其值传 给 updatePosition 函数来处理,该函数调用 Google Maps API 将地图的中心位 置设为用户的当前位置。如果 Google Gears 拿不到用户的当前位置,将会调用 handleError 函数来处理错误信息。

用Google Gears增强您的Web应用程序(13)

时间:2011-08-27 IBM 傅飞 古力

使用 HttpRequest API

Google Gears 提供的 HttpRequest API 实现了 W3C XmlHttpRequest specification 的一个子集 , 你可以用 HttpRequest API 发起一个 Ajax 请求 。你肯定会问在浏览器中我们已经可以用 XmlHttpRequest 对象来创建 Ajax 请 求,为什么 Google Gears 还要提供另外一种方式呢?这是因为在前面提到的子 worker 里面是不能访问浏览器的 XmlHttpRequest 对象,所以 Google Gears 提 供了 HttpRequest API 使得子 worker 也能创建 Ajax 请求,当然 , 你依然可 以在普通网页里面使用 HttpRequest API,而不是非得到子 worker 里面才能用 。为了简单起见,我们只介绍如何在普通网页里面使用 HttpRequest API,如清 单 13 所示

清单 13. 使用 HttpRequest API

  <html>  <script type="text/javascript"  src="gears_init.js"></script>  <script  type="text/javascript">  // 创建 HttpRequest 对象   var request = google.gears.factory.create(''beta.httprequest'');  function handleResult(){  //readyState 为 4 表示  HttpRequest 请求的状态是已被服务器响应   if  (request.readyState == 4) {   v

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号