`

Google Maps带来的新型WebGIS设计模式

阅读更多
Google Maps带来的轰动效应背后,少不了基于客户端浏览器的图片缓存技术的支持,我认为这是一种技术革新——因为任何常见的WebGIS商业产品都没有此种地图展现方式。

Go2map其 实也很早就运用了该技术(去年推出新版本的VIP地图服务时),不过该地图服务仍然是基于MapInfo产品线的,不是很漂亮和高质量(起码跟 Google比起来,道路少了灰色的border),而且界面稍显复杂(个人感觉)。使用客户端图片缓存后,很好的缓解了中心地图服务器的压力,要知道以 前在Go2Map上查询北京的公交老是等待超时。

仔细分析一下Google Maps的内部机制(从界面上的操作体验中也可推断),此种WebGIS系统真的与以前的ArcIMS、MapXtreme等二次开发出来的系统有着本质的不同:
  • 地图预先生成,这一点是首当其冲的,说了很多次了。
  • 地图切片,客户端同时下载。当地图窗口发生移动、缩放时,便需要下载新的图片来填充新的区域,在这里充分利用了浏览器(如IE)的多线程同时下载的功能,另外,下载过的图片无需再次访问服务器下载。缺点就是客户端编写需要大量脚本来支持。
  • 由于服务器不是实时地根据矢量数据生成地图图片,就造成了地图数据无法及时更新。但若仔细察 看,不难发现Google Maps上的数据其实大部分是道路交通、行政边界,其他的POI(Point Of Interests)信息并不是固化在地图上的,如此便使人觉得地图稍显单调,好在高质量的卫片影像弥补了此不足。Google通过客户端脚本技术,把用 户的搜索结果(也就是各种POI数据)以“大头针”图片的形式展现在客户端浏览器上,比如有名的官方Pizza店示例。反过来一想,还真得佩服 Google的设计:POI数据是经常更新的,而基础数据(Framework dataset,比如高级别的道路、桥梁、城市、湖泊等)则是很少变动的,即便是某些小道路发生变化,也可以很方便的生成该范围的地图斑块,这个工作量是 较小的。
  • 上面提到了POI数据,其实它是动态生成的(当然,也可以是静态的),这个怎么说呢?好比 Google的网络爬虫找到了某个公司的门户网站,分析出了该页面的内容结构并找到了其联系方式:##,**Road,**City,通过 Geocoding技术便可在地图上找到其位置。
  • 由于地图图片的预生成,以前的WebGIS站点经常提供的“图层控制”功能便无法达到,其实,这个并不影响用户的使用体验——Google地图是如此的清晰明了,用那玩意儿干啥?
  • 抛弃“鹰眼”窗口,也就是那个缩略图,可能有人觉得用起来不太习惯——因为你不知道目前浏览到具体哪个位置了。但是,想想看:全世界的地图,当你放到到很细节的地方时,鹰眼上的显示框会多么的小啊,丝毫没有意义。
  • 在地图上弹出Info Window以显示详细信息,底层实现使用了XML和XSLT,的确在界面上和视觉上给人以冲击,而且这也的确是一个好主意——既很好的节约了页面空间,又方便了用户操作。
  • “图中图”。该功能可谓煞费苦心,看看人家就是做得细致,在弹出的Info window中还有一个小地图来显示周围的情况,还可以在小地图上进行缩放,有点儿类似放置了一个放大镜在那里,真够绝的。
  • 疯狂的运用Javascript脚本,恰好现在的Web设计又回归Javascript,特 别是自AJAX的流行以来,似乎有唤醒了大家对浏览器端的脚本的重视。Google Maps的脚本可不是一段两段,而是超过了万行,就拿它在客户端显示路径这个功能来说,就必须牵涉到XML解析、路径数据的转码(Google在传输路径 的位置坐标时作了编码处理)、VML渲染、如果非IE则需要访问服务器以便让服务器程序画出路径并回传图片……如此林林总总,不一而足。
  • Google在中国的本地搜索服务也推出了Beta公众试用版了,而且北京地区的图也很详细,我想最大的困难也许就是国内的地名解析吧,要知道国内的门牌号、街区号、邮政编码都不是划分的很清晰,这个属于城市规划建设的问题了~

    GIS发展至今,经历了System-Science-Service几个阶段的蜕变,而且这 三个过程的界线愈发明晰,象现在,就有人在做System,有人在做Science,有人在做Service,其实归根到底,它仍然是一种IT技术,个人 认为无论搞科研,还是搞软件开发,又或者你是搞服务圈钱,都与计算机和网络是分不开的,不结合计算机技术,是搞不出任何新花样出来的~

  • 分享到:
    评论

    相关推荐

      基于Google Maps API的WEBGIS设计与实现

      毕业设计 ①地图基本功能:地图缩放控件、地图类型控件(地图、卫星、地形、地球、夜景)、缩略图控件、比例尺控件、地图搜索控件 ②地图辅助功能:地图状态显示、信息浮窗(标注展示地域视频和文本信息)、放大镜...

      基于GOOGLE MAPS API的课程设计作业

      在本课程设计作业中,你将使用GOOGLE MAPS API来构建一个WebGIS应用,它主要功能包括浏览地图、查询地标以及路线规划。这是一次深入理解和应用谷歌地图API的好机会,同时也涉及到Web开发的基本技术和GIS(地理信息...

      GoogleMapsAPI在WEBGIS中的应用.pdf

      ### Google Maps API在WEBGIS中的应用 #### 一、引言 随着信息技术的快速发展,地理信息系统(GIS)作为一项重要的工具,在多个领域得到了广泛应用。WebGIS作为一种新兴的技术,结合了互联网的优势与GIS的强大功能...

      webGIS_webgis_

      9. **响应式设计**: 现代WebGIS应用应考虑多种设备和屏幕尺寸,因此,响应式设计是必不可少的,确保地图在手机、平板和桌面电脑上都能良好显示。 10. **安全性与性能优化**: 考虑到地理信息数据的敏感性,WebGIS...

      基于Google Maps API的网络地图服务系统的研究与应用.pdf

      因此,本文提出了基于Google Maps API的网络地图服务系统的设计与实现,旨在提供一种快速、简单、有效的WebGIS开发方法。 二、Google Maps API的功能特点 Google Maps API是一种开放式、低成本和易用的API,能够...

      WEB GIS 设计模式 服务器

      WEB GIS 设计模式 服务器 mapxtreme 09年个人参与项目开发的基于mapxtreme的地图发布程序。数据采用MAPINFO TABLE,服务器采用SERVLET,未采用标签开发,但对服务器的数据读取与请求处理考虑了设计模式。请大家指鉴...

      Google Maps二次开发

      ### Google Maps二次开发 #### 一、概述 随着信息技术的发展,地理信息系统(GIS)与互联网技术结合产生了WebGIS,使得用户可以通过网络访问地理信息。WebGIS因其便捷性、易用性和广泛的应用领域(如交通、旅游、...

      基于ArcIMS的WEBGIS课程设计

      【标题】"基于ArcIMS的WEBGIS课程设计"是一个关于使用Esri的ArcIMS技术构建WebGIS应用的实践项目。ArcIMS(Arc Internet Mapping Server)是Esri早期提供的一种用于在线发布地理信息系统的服务器端软件,它允许用户...

      webgis系统设计开发文章

      基于WebGIS_GPRS_GPS的远程监控系统设计

      《WebGIS基础与应用》(课程设计)任务书

      ### WebGIS基础与应用课程设计任务书解析 #### 一、WebGIS概述 WebGIS(Web Geographic Information System),即基于互联网的地理信息系统,是GIS技术与互联网技术相结合的产物。它利用互联网技术来管理和发布...

      WebGIS平台地图设计教学探究.docx

      WebGIS 平台地图设计教学探究 本文探讨了基于 WebGIS 平台的地图设计教学探究,旨在为未来基于开源 WebGIS 云平台的地图学实践教学提供建设性参考。WebGIS 平台相对于桌面 GIS 软件界面友好、操作简单,使地理空间...

      Google Maps组件二次开发与应用.pdf

      本文讨论了 Google Maps 在 Joomla 构站中的应用,设计了一套 Google Maps 在 Joomla 中集成的解决方案,并阐述了组件四个功能模块的实现过程。本文还分析了 Google Maps 在 Joomla 中的现实应用,提供了 Google ...

      flex开发系列书籍:WebGIS框架设计与实现

      鉴于此,刘俊等人在《基于Flex的WebGIS框架设计与实现》一文中,深入探讨了如何利用Flex技术构建新型WebGIS框架,旨在解决上述问题,提升用户体验和系统性能。 #### Flex技术简介 Flex是一种由Adobe公司开发的开源...

      管网巡检WebGIS设计与开发.pdf

      管网巡检WebGIS设计与开发是基于改善燃气管网的巡检模式、提高管网巡检的效率、加强对燃气管网巡检系统管理的目的,采用百度地图提供的JavaScript API技术,通过HTML5、CSS3与JavaScript脚本语言设计开发了WebGIS...

      webGIS书籍及源码

      - GeoAPIs:如Google Maps API,Bing Maps API,它们提供了丰富的地图功能接口。 - 模块化开发:了解模块化工具如RequireJS或Webpack,用于管理和组织WebGIS项目。 5. **源码分析** - 书籍源代码通常包含示例...

    Global site tag (gtag.js) - Google Analytics