摘 要:本文以武汉市地图数据为基础,以.NET为搭建平台,运用ASP.NET,Oracle Spatial等为技术手段,通过百度API接口来实现电子地图的开发,相对于传统的GIS应用开发,WebGIS开发更加简单,成本也比较低。本文以最优路径,景点的搜索为例,简述了基于百度API的WebGIS地图服务的应用。
关键词:百度API;WebGIS;最优路径;搜索
1 百度API及WebGIS简介
百度地图API是为开发者免费提供的一套基于百度地图服务的应用接口,提供基本地图展现、搜索、定位、路线规划、LBS云存储与检索等功能,开发者可以在多种设备和多种操作系统下进行地图应用的开发。WebGIS指通过互联网对地理空间数据进行发布和应用,以实现空间数据的共享和互操作,其核心是在GIS中嵌入HTTP标准的应用体系,实现了Internet环境下的空间信息管理和发布。
2 系统的结构与地图的实现
2.1 系統工作结构图
系统采用B/S模式,结构图如图1所示,用户可以通过Web浏览器访问该系统,Web服务器接到访问指令后会同时与百度服务器和数据库服务器进行交互,进而完成数据的传输,之后通过Web服务器把得到的数据展示给用户,服务端程序采用Asp.net技术和C#语言进行开发;利用Oracle数据库提供的空间数据插件Oracle Spatial数据库管理系统存储和管理;百度地图服务则通过百度地图JavaScript API来实现。
2.2 电子地图的实现
以武汉市为例,进行地图控件,全景控件等应用的添加。其中,地图的显示代码如下:var map = new BMap.Map("allmap");map.centerAndZoom(new BMap.Point(114.31,30.52),15);创建以武汉为中心点,地图等级为15级的电子地图,使用者可以根据需求选择适合的地图等级。
比例尺的添加代码为:vartop_left_control=newBMap.ScaleControl({anchor:BMAP_ANCHOR_TOP_LEF;map.addControl(top_left_control);在左上角,添加比例尺,比例尺可以让使用者大致的了解地图的缩放等级以及地图显示中的地物的真实距离,方便使用者做出相应的距离判断。
街景的显示代码为:var stCtrl = new BMap.PanoramaControl();map.addControl(stCtrl);添加全景控件,用户可以根据自己的需求来选择是否查看具体场景,有了该功能极大地方便了使用者对现实地点的分析便于使用者更好的获得路况。
景点的查看代码为:var local = new BMap.LocalSearch(map,{renderOptions:{map:map }});local.search("景点");显示武汉地区的景点位置以及基本信息,人们可以选择自己喜欢的景点,同时电子地图可以查看景点周围的交通和酒店情况,为人们的出行提供参考。
路线的选择代码为:var start = "长江大学";var end = "武昌火车站";… … …function search(start,end,route){ var driving = new BMap.DrivingRoute(map,{renderOptions:{map:map,autoViewport:true},policy:route});driving.search(start,end);}};以长江大学到武昌火车站为例,该段代码提供了三种驾车路线,人们可以根据实际需求选择最少时间行驶,最短距离行驶或者避开高速行驶。
3 总结
本文介绍了基于百度API的旅游系统应用的实现,初步实现了基本的地图浏览,全景地图查看,景点的查询和两地之间驾车的最优路径的选择,操作界面简介,用户可以更加方便的使用,通过本文读者可以大致的了解开发的基本步骤和方法,让开发者可以根据特定的需求去开发适合的电子地图。
参考文献:
[1]赵书田,刘海姣.基于开发地图API的WEBGIS的应用研究[J].电脑知识与技术,2014(36).
[2]花杰.基于GoogleMapsAPI的WEBGIS应用研究[J].中国高新技术术企业,2010(25).
[3]杨云源,何礼平.基于Goolge Maps API的WebGIS应用研究[J].电脑开发与应用,2009(1).
[4]马瑞.基于百度地图API的空气质量指数发布系统的实现[J].山西电子技术,2017(2).
作者简介:刘策(1994),男,汉族,山东济宁人,在读研究生,研究方向:地理信息系统。