欢迎来到天天文库
浏览记录
ID:5246612
大小:36.50 KB
页数:12页
时间:2017-12-06
《c-s架构应用程序集成百度地图方案探究》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C/S架构应用程序集成百度地图方案探究 摘要:当前百度地图主要针对B/S架构、移动平台提供API,没有对C/S架构应用直接提供支持。研究了利用现有静态图API、FlashAPI、JavaScriptAPI进行C/S架构应用程序集成的3种方案,分析了每种方案的技术要点及其优缺点,指出使用WebBrowser控件嵌入HTML,在HTML中使用JavaScriptAPI是C/S架构应用程序集成百度地图的最佳方案,并给出一个在实习基地管理模块中集成百度地图的成功案例。关键词:C/S架构;集成方案;百度地图中图分类号:TP301文献标识码:A文章编号文章编号
2、:16727800(2014)001003904基金项目基金项目:广州大学华软软件学院科研项目(ky201112)作者简介作者简介:袁冠远(1977-),男,硕士,广州大学华软软件学院讲师,研究方向为信息系统设计、计算机游戏设计。0引言12地图能直观地展示有超媒体特性的地理空间数据及属性数据,使用百度地图API可以在应用中显示百度地图图片、进行地点搜索、路线查询和交通流量显示等操作,且面向公众服务类网站是免费的[1],是做地图集成的一个不错选择。毕业实习是高校教学体系中一个不可缺少的组成部分和不可替代的重要环节,影响毕业实习与设计质量的关键因素包括实
3、习基地、指导教师、学生及教学组织[2]。实习基地是高等院校培养学生实践能力、提高学生科研水平、增强学生创新意识的重要场所[3],也是教师开展科研、推广先进科技成果、提高实践教学质量的重要依托和有效途径[4]。为加强实习基地建设,增进学校和实习基地之间的交流与合作,我们在毕业设计与毕业实习管理系统中实现了实习基地管理模块。实习基地管理模块采用C#语言、Winform技术实现,是典型的C/S结构。为了能直观展示实习基地的地理分布,帮助指导教师亲临实习基地,需要在系统中集成地图。1集成方案百度地图针对不同的开发平台,提供了多种API。针对网页地图应用提供了
4、JavaScriptAPI和FlashAPI,针对手机地图应用提供了AndroidSDK和iOSSDK,针对服务端地图应用提供了静态图API和Web服务API[5]。但目前并没有提供桌面版API,因此,Winform应用程序只能间接调用百度地图API,经研究,有3个可行方案,下面分别阐述。1.1使用静态图API结合Web服务API12静态图API根据所设定的参数,通过标准HTTP协议,返回PNG格式的地图图片。在Winform程序中,可以使用PictureBox控件显示地图图片。用户可以指定图片的尺寸、地图的显示范围(包含中心点和缩放级别),还可以放
5、置一些覆盖物在地图上,以生成符合需求的地图图片[6]。以下示例包含北京市静态地图图片的网址:http://api.map.baidu.com/staticimage?center=116.403874,39.914888&width=640&height=480&zoom=11它将返回中心点位于北京的地图图片,图片的尺寸为640×460,缩放级别为11。.Net平台下,可以使用System.Net.WebClient类来下载地图图片,使用该类的DownloadDataAsync方法异步下载可避免下载过程中界面操作被阻塞[7]。以下代码实现了地图图片的
6、异步加载功能:WebClientclient=newWebClient();privatevoidLoadPicture(){if(client.IsBusy)client.CancelAsync();client.DownloadDataCompleted+=(sender,e)=>{if(!e.Cancelled&&e.Result!=null){this.Image=newBitmap(newMemoryStream(e.Result));12this.Invalidate();//强制刷新画面}};stringurl=String.Forma
7、t(“http://api.map.baidu.com/staticimage?center={0},{1}&width={2}&height={3}&zoom={4}”,Longitude,Latitude,this.Width,this.Height,Zoom);client.DownloadDataAsync(newUri(url));}仅获得地图图片显然功能有限,可以使用Web服务API,以获得额外的功能。百度地图Web服务API为开发者提供http接口,即开发者通过http形式发起检索请求,获取返回json或xml格式的结果数据。用户可以基
8、于此开发C#、Java、C++、JavaScript等语言的地图应用[8]。Web服务API目前包括如表1所
此文档下载收益归作者所有