GOOGLE地图结合.NET应用浅谈

来源 :数字化用户 | 被引量 : 0次 | 上传用户:wangxiaofengkobe
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】随着计算机、互联网技术的不断发展和深化,电子地图的应用也渐渐地呈现出多样化、多元化的发展模式,从普通的B/S模式快捷服务到高端、模块化的二次开发应用,电子地图的发展给我们的工作和生活带来多诸多便利,同时也带来诸多问题。本文从电子地图的应用模式谈起,结合GOOGLE地图与.net框架,从web服务应用的角度研究其应用特点及若干常见问题及分析。
  【关键词】GOOGLE地图 NET应用
  一、电子地图的应用模式及领域分析
  纵观国内外电子地图技术的发展,以美国的ESRI(美国环境系统研究所公司)的ARCGIS、和MAPINFO公司为首的一批世界较大的地理信息系统技术提供商为全球各个领域的用户提供着可伸缩的,应用全面的GIS平台。国内也有像SUPERMAP以及武汉中地数码等公司提供的GIS服务也在国内GIS应用领域逐渐兴起。而现今的应用软件平台开发以高效、敏捷开发为其特色之一。电子地图在诸多领域的应用也是同样。以上提到的诸多国内外地图服务提供商提供的地图控件主要面向地图服务、数据服务以及高级的分析服务等方面,服务部署比较复杂、成本较高,适应于大型应用系统的GIS模块化专业开发。而现在很多GIS应用领域有不少是在以网站为主的电子商务、政务平台或是交通、房产交易等行业门户网站平台。在这些整体造价较低的应用平台上使用大型专业GIS控件显然是不合适的、经济上也是不允许的。在此种背景下,一些公共地图服务提供商(例如GOOGLE、百度、高德等)提供的免费B/S地图服务最为实用,常用功能也基本满足,是大多数行业网站的首选。
  二、GOOGLE地图开发模式
  GOOGLEF地图以其发展最早、专业性较强、免费等特点在先期受到电子地图用户的青睐,只要在GOOGLE官方网站上注册一个用户,即可获取一个key序列号,通过在网站开发平台的前台脚本文件中嵌入含有src地址及序列号的代码,即可以免费获取地图服务应用。
  考虑到现行国内的网络MTU及带宽的因素, GOOGLE地图每刷新一次大概需要2-3秒(也可能更长,由网络带宽及速度决定)的时间。所以我们只能在无刷新模式下获取地图数据并加载应用。目前流行的做法是应用AJAX技术(异步JavaScript和XML)在后台注册AjaxPro.AjaxMethod方法,先从数据库获取数据并组合成约定格式的字符串,交由AJAX传递到前台,最后由JAVASCRIPT拆分后传递给页面,呈现给用户。传递过程中的数据格式也可用较近流行的JSON数据格式解析,从而实现较高的数据传递效率。
  三、GOOGLE地图结合.NET平台开发常见问题及分析
  (一)海量地图标识的载入与显示
  很多电子地图的应用少不了地图标识的读取与显示,拿房产交易网来说,一个城市内的小区数量大多数以千为单位,数据量较大。根据笔者的应用实践,觉得可以从两个方面入手来提升标识的载入速度:一是在指定的比例尺内显示。地图在比例尺很大的情况下,如果全部显示标识,那响应速度恐怕是用户难以接受的。同时,全部标识堆积在一起显示,对用户来说意义也不大。如果在指定的显示级别(放大到可以看到某区域主要元素例如街道、单位、商铺的时候)再显示则不失为一个较好的提升用户体验和提高响应效率的方法。此种方法可以对GLatLng对象使用show()或是hide()方法来实现。笔者在应用中发现,即使大量标识存放在内存中,如果用hide()方法在某个显示级别将标识隐藏,由于系统少了对标识重新计算位置和标记的负担,用户在操作地图进行诸如测量面积、缓冲分析时响应速度会提高很多,基本上不影响用户体验;二是随着地图可见范围的变化而重新请求数据。当前用户在可见比例尺下需要显示的标识可以使用addOverlay(markers[i])先行载入显示,同时给每一个载入的标识使用布尔变量FLAG来标识其载入状态。这样,当用户再次放大、缩小、拖动地图时,先依次检查经纬度位置在当前视野范围内的所有标识的FLAG是否为false,如果是,则进行addOverlay(markers[i])载入且更改其标志位,否则不做处理(因其已经载入并显示在当前视野内了,如果载入又不在当前视野,则隐藏标识即可)。这样,用户经常查看的地图区域内,在前几次操作中便很可能在不影响用户操作响应的情况下已经将标识全部载入,后续操作由于标识已经全部在内存里并且已经载入地图中更不会影响响应速度,继而达到了从用户初次打开地图至操作结束都不会出现由于数据载入而影响操作的情况。
  (二)标识信息窗口的数据存储和载入
  用户使用地图的主要目的之一是点击了某个标识后显示出的详细信息,这个信息可以包括文字、图片、视频等形式的信息。通用情況下,会使用html标记的字符串来显示并加载。但是在海量标识的情况下,将全部标识信息的html字符串在加载地图标识时通过GEvent.addListener(x, "click", function())的方法添加事件监听是可以达到事件响应的效果的。但是,正常情况下人们会想到,如果在点击某个标识后再添加此事件,应该是最不影响用户体验的方式,但由于其事件监听是必须随着标识的添加和确定的。经笔者验证,在点击标识后再添加事件的方式是行不通的,原因很简单,标识的点击事件都还没有添加,点击后根本不会有任何响应,事件又如何添加?所以,笔者认为,最好的方法应该是在上述”海量地图标识的载入与显示”叙述中每载入一个标识时添加事件监听是最理想的时机,结果可以达到事件响应的目的又不会影响用户体验和操作。
  参考文献:
  [1]江宽,Google API开发详解[J] 北京电子工业出版社,2008
  [2]拉尔森,面向服务的AJAX架构模式与应用开发 人民邮电出版社,2011
  [3]柳伯斯,HTML5程序设计(第2版)人民邮电出版社,2012
  作者简介:班瑞,男,(1981),本科,河南省郑州市人,现任职于郑州恒正电子科技有限公司,郑州大学信息工程学院工程硕士(在职,软件工程方向)。
其他文献
运用机制应对气候变暖rn记者:全球能源、环境和气候变化问题日益突出,成为各国面临的共同挑战,请介绍SF6气体减排的必要性、SF6减排项目背景和减排方法,国家和华北电网对此所
2009年9月26日,“正泰电器与电力建设峰会”在温州香格里拉大酒店举行,此间举办的“技术进步与智能电网论坛”就中国能源电力结构怎样才算合理,传统的能源和新能源关系如何处
提出了一种利用光学谐振腔代替长光纤作为光电振荡器系统延时器件,以提高微波品质因子的方案。此方案中,光子可以在谐振腔中多次循环传播,2英寸(1英寸=2.54 cm)的平面光波导
感应电能传输系统,即IPT系统(Inductive Power Transfer,IPT)是一种新型电能传输技术,系统通过高频磁场,实现电能从一次绕组到二次绕组的传递.IPT系统是一种能量松耦合系统,
配电网故障的80%左右为单相接地故障[1-3].因此,我国中压配电网大多数采用小电流接地方式.它有利于提高供电的可靠性,有利于人身安全、设备安全、有利于减少通信干扰和改善电
编者按:rn由于SF6气体具有优越的绝缘性能、灭弧性能和散热性能,自20世纪60年代初期,SF6气体就被应用在电力输配电系统的高压设备中.目前SF6气体在高压领域主要应用于断路器
在大数据背景下,大数据技术被应用在各行各业中,借助数据库中含有的关联性信息,能有效提升科研水平和综合实践能力。因此,为了进一步优化高校科研管理系统的实际价值,要着重利用数据挖掘技术,提高高校科研管理水平。本文对数据挖掘技术的结构、使用工具等进行了简要分析,并集中讨论了高校科研管理系统应用数据挖掘技术的设计流程,以供参考。
传统全桥ZVS PWM变换器存在的变压器一次绕组环流会产生较大的通态损耗,并且存在二极管反向恢复损耗,滞后桥臂较难实现软开关以及占空比丢失等问题[1],为了进一步提高变换器
针对三相四线制有源电力滤波器,采用双DSP的数字控制系统,详细分析了主从DSP的主要工作原理和软件流程,以及它们之间的SPI通信原理和通信流程,并且通过试验验证了该控制系统
【摘 要】数字音频广播(DMB)是我国第三代调频广播,继传统的调幅广播(AM)与调频广播(FM)之后的第三代广播,据资料记载,在世界范围内,广播技术的数字化技术即将成为广播发射技术的主流和必然进程,在我省广播电视范围内,采访和编辑技术已经实现了数字化,唯独在播出环节,需要通过数模转换才能使客户端接受并收听使用,因此需要介绍和了解以调频数字发射机和接收客户端(收音机)的数字和模拟技术,下面我们介绍以