欢迎来到天天文库
浏览记录
ID:5312730
大小:818.18 KB
页数:4页
时间:2017-12-07
《c/s架构应用程序集成百度地图方案研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、·4()·软件导刊2014拄现,是典型的c/s结构。为了能直观展示实习基地的地开发者通过http形式发起检索请求,获取返回jSOIl或xml理分布,帮助指导教师亲临实习基地,需要在系统中集成格式的结果数据。用户可以基于此开发C#、Java、C+地图。+、JavaScript等语言的地图应用。Web服务API目前包括如表1所示的功能。1集成方案表1百度地图Web服务APIAP1功能百度地图针对不同的开发平台,提供了多种API。针PlaceAP1支持城市、矩形及圆形区域关键字检索POIPlacesuggestionAPI匹配用户输入关键字的辅助信息、提示接口对网页地图应用提供了JavaScript
2、API和FlashAPI,针对G通过地址获取坐标值或通过坐标点获取详细手机地图应用提供了AndroidSDK和iOSSDK,针对服eocodingAPI地址信息描述服务务端地图应用提供了静态图API和Web服务API。但DirectionAPI通过HTTP接口获取导航线路IP定位API根据IP获取用户的位置信息目前并没有提供桌面版API,因此,Winform应用程序只可以结合静态图API和Web服务API,实现基本的能间接调用百度地图API,经研究,有3个可行方案,下面地图功能。但是这个方案非常麻烦,基本的地图漫游、缩分别阐述。放等功能都必须自行实现。1.1使用静态图API结合Web服务API
3、1.2使用FlashAPI静态图API根据所设定的参数,通过标准HTTP协使用ShockwaveFlash控件嵌入SWF,在SWF中使用议,返回PNG格式的地图图片。在Winform程序中,可百度地图FlashAPI。百度地图FlashAPI是一套由Ae—以使用PictureBox控件显示地图图片。用户可以指定图tionSeript3.0语言编写的应用程序接口,它能够在Flex/片的尺寸、地图的显示范围(包含中心点和缩放级别),还Flash和MobileFlex/Flash项目中快速构建地图应用。可以放置一些覆盖物在地图上,以生成符合需求的地图图百度地图FlashAPI包含了基本的地图接口,提
4、供地图浏片。以下示例包含北京市静态地图图片的网址:览、漫游、缩放等基本功能,支持自定义控件和卫星图等图http://api.map.baidu.com/staticimage?center=层操作、坐标转换等功能。相对于静态图API方案,它116.403874,39.914888&width:640~height=封装了更多的功能,调用起来更为方便。480&zoom一11本方案的难点在于Flash的ActionScript与宿主程序它将返回中心点位于北京的地图图片,图片的尺寸为的相互调用。例如在实习基地列表中点击某个实习基地640×460,缩放级别为1l。时,在地图中应同步跳转到该实习基地;在
5、地图上下文菜.Net平台下,可以使用System.Net.WebClient类来单中点击“添加实习基地”时,宿主程序应显示相应的对话下载地图图片,使用该类的DownloadDataAsync方法异步框。下载可避免下载过程中界面操作被阻塞_7]。以下代码实ActionScript与宿主程序的相互调用是通过flash.ex—现了地图图片的异步加载功能:terna1.ExternalInterface类来实现的,涉及到两个方面的WebClientclient—newWebClient():问题,一是从Flash的ActionScript脚本中调用宿主程序privatevoidLoadPicture(
6、){中的函数,这是通过调用External1nterface.call方法来实if(client.IsBusy)client.CancelAsync();现的;另一方面是从宿主程序中调用ActionScript脚本,client.DownloadDataCompleted+一(sender,e)一>{这是通过ExternalInterface.addCallback方法来注册Ac—if(!e.Cancelled&&e.Result!=nul1){tionScript函数的,指示其能够为宿主程序所调用。this.Image=newBitmap(new宿主程序中,通过捕获ShockwaveFlas
7、h控件的MemoryStream(e.Result));FlashCall事件,来处理ActionScript对宿主程序中的函数this.Invalidate();//强制刷新画面调用,该事件会传人一个request参数,该参数是一个)XML格式的字符串,包含被调用的方法名以及相关参数,;信息。返回给Flash的值通过ShockwaveFlash控件的stringurl—String.Format
此文档下载收益归作者所有