DevFest归来
Chen fei
| |||
DevFest归来 上次Google的北京DevFest活动,来自美国的工程师Pamela Fox介绍了地图API中的一些新的功能,这些功能在目前的谷歌中文地图大多得到了很好的支持,因此,在这里对这些API做一些介绍,让很多因为时间和名额的关系没能参加这次活动的朋友一起来分享这顿技术大餐。 一、强大的地址解析器 —— 反向地址解析(Reverse Geocoding) 熟悉谷歌地图API的朋友可能已经知道在谷歌地图API里有一个叫做GClientGeocoder 的类,这个类提供了geocode功能,能够把用户指定的地址转换成为地理坐标,也就是我们常说的地址解析。但是,一直以来,在谷歌中文地图上我们只能用这个API来解析省市县级别的地址,如果你指定的地址包括乡镇街道等等更精细的信息,API就无能为力了。幸运的是,就在前不久,谷歌中文地图的geocode功能已经放开,能够支持到乡镇街道等等更为精细的地址解析了,比如,我们现在可以用下面的这行代码就可以直接取得"五道口"的地理坐标了: new GClientGeocoder().getLatLng("五道口", callback); 如果你还没有用过地址解析器,可以来这里试试 。 而Pamela Fox这次给我们带来的好消息是,GClientGeocoder不仅能够把地址解析成地理坐标,而且还能够把地理坐标还原成地址,也就是反向地址解析。你或许要问,反向解析,这有什么用?好吧,我也不知道你会把这个功能用在哪里,试试下面的这个反向解析的例子,你肯定会比我更清楚你准备要怎么来用。拿起你的鼠标猛击地图吧! 二、小巧灵活的搜索工具 —— 本地搜索栏(Local Search) 曾经有朋友抱怨说谷歌地图左下角的Logo有时候似乎有点碍事,这里且不讨论Logo在这里的"合法"地位,但就这个Logo来说,如果有方法把它变成一个灵活的搜索框,你,难道还会抱怨吗?看看下面地图的右下角 这就是本地搜索栏,而且,在你使用谷歌地图API创建一个GMap2对象的时候,只需要这样一行代码,你就可以拥有这样一个搜索栏了: GMap2.enableGoogleBar(); 当然,API还提供了很多参数用来对这个搜索栏进行定制,比如,改变搜索结果的显示样式和位置、改变搜索栏的初始状态和搜索框里的提示信息、改变搜索的数据源等等,另外,你也可以使用AJAX Search API的相关内容来定制自己的本地搜索框,更详细的说明请参考开发文档 ; 三、不用再为用户定位费神了 —— 地点探测(Location Detection) 如果你想让你的用户在登录你的地图应用时,不需要不停的缩放和拖拽地图就能够快速定位他在地图的位置,仅仅使用现有的API,实现这样的用户体验估计让你贡献了不少脑细胞。现在,一切都简单了,在你的应用里导入AJAX API的加载器,也就是google.loader,使用这个加载器提供的ClientLocation类,就可以根据用户加载AJAX类库时的IP,自动解析用户所在的地理位置,取得包括地理坐标、城市、国家、国家代码、与IP关联的地区名等在内的所有信息。一段典型的示例代码如下: var loc = google.loader.ClientLocation; if(loc && loc.latitude && loc.longitude) map.setCenter(new GLatLng(loc.latitude, loc.longitude), DEFAULT_LEVEL); } else { map.setCenter(DEFAULT_CENTER, DEFAULT_LEVEL); } 注意,AJAX API是一个独立的类库,就是说,需要使用一个新的<script>标签来导入一个新的AJAX类库。这是一个简单小巧的类库,支持谷歌搜索、谷歌地图等等API类库的动态加载,可惜的是目前还不支持中文地图API的动态加载。但是,这并不妨碍我们在中文地图API环境中使用ClientLocation来进行地点探测。 四、可以不加载类库就使用谷歌地图?—— 静态地图(Static Map) 是的,我们常用的地图是需要浏览器支持JavaScript、需要加载一系列的JavaScript类库和图片、支持用户点击拖拽的动态地图。如果你的用户环境不支持JavaScript,或者,你只是想使用地图来做一些简单的示意,只有在用户需要的时候才激活动态地图,那么,静态地图就可以派上用场了。 其实,所谓静态地图就是对动态地图的一个截图,所以,使用静态地图也非常简单,只需要一个<img>标签就可以搞定。当然,这个截图不需要你去进行实际的截图操作,你要做的就是给这个<img>标签的src属性指定一个固定的URL,在这个URL中设定你所需要的地图边界、缩放层次等等就可以了,比如: 如果需要的话,你同样可以在这个静态地图上添加各种标记和折线,这里也有一个静态地图的向导 ,试试看? 静态地图详细的文档在这里 五、浏览器就是一切 —— 扩展地图API 谷歌地图API提供了丰富的扩展接口,这些扩展接口中有些是直接在地图API类库中定义的,有些则已经成为独立的类库,Pamela主要为我们介绍了这几种扩展,这里作一下简单的介绍: 1、自定义地图 这是在谷歌地图API中定义的一系列扩展接口,使用这些接口,你可以定义你自己地图,比如,把地图上的图片换成你自己的全景图片,或者,使用你自己的卫星图片或历史图片替换地图上的某个图块(Tile)等等,但这些往往需要复杂的数学计算和服务器端支持,所以实现起来就不是那么easy了。当然,地图API中也有一些相对简单的扩展接口,比如,定义你自己的控件(GControl) 、叠加层(GOverlay) 等等。 2、Flash API 这是一个独立于JavaScript API的类库,允许你在Flash环境下嵌入和使用谷歌地图,并具有JavaScript类库类似的功能。这是一个新近发布的类库,所以现在还没有中文文档,在API的使用过程中有什么问题,可以看看它的开发文档(英文) 或者用户论坛(英文)。 这是一个使用Flash API的例子 ,还有一个使用键盘控制的Flash驾车游戏 。 3、Earth API 谷歌地球(GoogleEarth)的强悍是人所共知的,把这样一个强悍的3D模型嵌入到浏览器中,并且使用JavaScript来与这个3D模型沟通,像在谷歌地图上一样在这个嵌入式的谷歌地球上添加标记和折线,这就有点太神奇了吧。 Earth API就是这样可以控制这个嵌入式谷歌地球并可以在这个3D模型上展示数据的JavaScript独立类库,但是,使用它的前提是你已经安装了谷歌地区的浏览器插件,如果你还没有安装请到这里下载 ,目前这个插件只支持Windows环境下的FireFox和IE6/7。更多信息请参考它的中文文档 和英文论坛 。 在你使用谷歌地图API 的过程中,如果遇到问题和困难,请访问谷歌地图API社区论坛 , Chen fei 2008谷歌中国DevFest技术交流讲座会议总结及资料分享谷歌中国十月份在北京和上海两个城市举行的DevFest技术交 这次讲座活动的举办方,谷歌中国的Developer Relations部门,对参会者作了反馈调查。绝大多数参会者希望将这样的活动保持在一天之内的长短、喜欢将演讲和编程实践结合在一起的讲座活动。很多人都希望参加更多的类似活动。根据大家的反馈,我们在未来将举办更多的类似讲座 为了便于所有参会者对讲座的内容进行复习和进一步实践,
两个城市的讲座照片在这里与大家分享: 谷歌中国Developer Relations向所有参会者们表示感谢! Bill Luan (栾跃) 介绍OpenSocial Dev App - 它让开发OpenSocial 应用更方便了!作者:Arne Roomann-Kurrik, 谷歌开发工程师 翻译:Guibin (孔贵宾) 今天我非常荣幸能够发布OpenSocial Dev App: 作为一名OpenSocial开发者, 利用Dev App,用户可以编写一组测试函数,并在编辑窗口直接运行。 下面我们列举了Dev App的一些特性:
谷歌中国DevFest技术讲座会议将在北京、上海举行![]() 谷歌中国这个月将在北京和上海两个城市举行DevFest技术交流讲座:10月17日在上海,10月24日在北京。我们诚挚邀请中国网络开发的技术专家们,前来参加这个技术分享和交流的盛会。这个技术教育讲座会议将采用谷歌Hackathon讲座的形式,让听众们除了听讲座、还通过亲自动手编程实践的方法,来学习和掌握最新的网络应用开发技术。
这次DevFest技术教育讲座会议将主要讲解和分享有关建立网上社区的公开标准OpenSocial及其开发应用,用来开发提供地图服务的谷歌地图API,以及Google App Engine应用技术。谷歌在美国Mt. View总部的工程师们,加上谷歌中国的工程师们,将一起为你进行讲解和演示,并指导听众们进行编程的动手实践,将学到的技术立即进行运用。 另外,还会有让听众向来自谷歌总部和谷歌中国的讲师们就所关心的问题进行提问的问答活动。 我们邀请你根据自己就近的城市来参加两个其中的活动之一。你只需带上你的笔记本电脑、你的好奇心和创新力、你的问题和困惑,来参加我们这个一整天的网络编程盛会! 如果你有兴趣来参加,请你在以下网页注册,并标明你想参加哪个城市的讲座:https://spreadsheets.google.com/viewform?key=ps3tFc_QUYHhmmqegaPDwZA 我们会根据注册者的通讯信息进一步通知所有参会者具体的会议细节和地点。 由于我们只有有限的空位,有可能我们无法满足所有要来参加的人。如果要是因为场地局限我们无法满足你这一次的参会要求,请允许我们在这里事先表示抱歉和致意。只要你注了册,我们在将来举办类似的未来网络技术分享和学习的活动时一定告知你并提供参加机会。
谢谢! Bill Luan (栾跃) Technical Program Manager Developer Relations 谷歌中国
喜欢"我的地图"吗?在你自己的API应用上使用它的线条和形状编辑器吧!转自 谷歌地图API官方博客(英文)
现在,我很高兴的宣布, 也就是说,比如,你有一个想让用户能够编辑的多边形(G 另外我们也列出了GPolygon 和GPolylin var polyline = new GPolyline([]); map.addOverlay(polyline); polyline.enableDrawing(); 在地图上的每次点击都会增加一个新的段点来连接折线, 这里有一个在单独的窗口打开的例子 。 当我们混在一起几个小时之内搞出一坨页面来收集全球网友发布的带有 #080808 标签的内容?乍一听可能觉得不可思议,但在 Web 2.0 时代纵横交错的各种 API 的帮助下,做起来其实是非常的简单呢!8月7日那天下午我一边在搞 Google 的“北京夏季运动会”页面 (也是一个mash-up哦),一边就在 twitter 看到了 flypig、webleon 和 babechloe 几位朋友做的 #080808 这个 idea。“好棒的主意!”我想,“可以做一个更 fancy 的首页把网友们的参与给 show 出来。”于是我在 Gmail 里面给这几位天才的创始人发了一个草图,原始文献如下所示: ![]() 8月8日的凌晨我开始动手搞这个。最先动手写的是 HTML + JavaScript,它们决定了页面的结构和内容。Geeks 同学们可能会对我们如何使用这些 API 的细节有兴趣:
这就是我们的成果:http://tag080808.appspot.com 虽然这个 application 放在了 Google App Engine 上,但其实到目前为止我们都没有用到任何服务器端技术。整个页面就是一个静态的 HTML 页面,所有动态的数据都是用 JavaScript 读入的。所以电视机前的观众朋友们,如果您想 copy 这个站点的话,把这个网页直接保存下来然后上传到自己的服务器就可以啦。我们也欢迎你动手做一些改进,时间所限,这个 mash-up 确实还有很大的改进空间。像 Google 就还有许多容易上手又非常强大的 API 可以利用,比如说 AJAX Search API、Maps API、AJAX Languages API 还有 Chart API 等等……详情请参见 Google 的 API 目录页 。 Mash-up 真是很好玩也很有用的东西,把散落在网络四处的信息放在一起重新组合,这本身就是一件很神奇的事情。 Web 2.0 不仅仅意味着半透明渐变 logo,永不消逝的 beta 标签和标签云,像这样的开放性也是 Web 2.0 基因的一部分。 也希望国内的厂商也能多一点开放性,这样子下次我们或许可以显示更多来自国内网站的内容。 Update: 这篇帖子最早是在奥运会期间发在 tag080808.com 上的。奥运会结束以后,我们又利用 App Engine 的技术搭建了一个总结页面,可以显示每个参与个人的所有消息,还有根据这些消息分析出来的关键词云图。如果你也参与了这个活动,可以去 me.tag080808.com 查看一下。比如,这就是我的页面啦。
王俊煜, Google 用户体验部 谷歌中国开发者视频节目专辑增加了新的播放列表谷歌中国开发者视频节目专辑上星期正式发布后, 这是一个专为中国的开发者们所建的谷歌开发者产品和技术的辅导演 今后我们会继续采取这种双管齐下的技术分享方针: 我们欢迎的你的经常来访! 谢谢! 谷歌中国开发者关系部
|
|||
Copyright © 2008 Google Inc. All rights reserved.
| |||