基于ArcGIS、百度地图API的简单开发
2017-06-01郭凤琳
郭凤琳
摘要:随着地图服务的不断发展,形式越来越多样的地图服务出现在我们的身边。包括大家熟悉的百度地图、腾讯地图、高德地图,还有一些企业级的ArcGis等。对于这些新兴的地图服务,大家可能既熟悉又陌生。我们写这篇文章的目的就是,对当今市面上普遍流行的各色地图服务,通过使用它们提供的丰富的接口、库类来进行研究实践,进行移动平台、网页桌面等的开发,并从中简要分析异同。
关键词:百度地图;ArcGis;WebGis;API
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)08-0096-02
随着地图服务不断发展,大众对于地图服务的需求越来越高。对于一般民众来说,一款功能简便实用的地图服务就很有必要了。为了方便普通的大众,让地理信息系统的建设更加的普及,让数据信息在中小城市地理信息工作中更为有效地发挥作用,现在许多平台都提供功能丰富齐全的接口,创建小型地理信息系统,发布更具体、更方便、更智能的地理信息。
百度地图API为开发者提供丰富的控件、事件和封装的类,提供很多专门服务供用户使用包括本地搜索、路径导航等。用户只需按要求进行注册而无需下载安装软件、控件或地图等其他程序。
百度地图特点:
1)地图操作。百度地图操作相对简单,主要操作包括移动、自由缩放。
2)地图的预生成。地图在实际应用中并不是根据用户请求动态生成,而是经过预先处理的。
3)分析功能。百度地图具有距离的测量、最佳路径分析等相关方面的空间分析功能。
4)开发成本。目前百度地图提供的API属于免费资源,降低了用户使用成本的同时也降低了二次开发,对于扩展电子地图的使用具有重要意义。
1ArcGIS简介
ArcGIS是Esri公司给用户提供的一套完整的GIS平台产品,具有强大的地图制作、空间数据管理、空间分析、空间信息整合、发布与共享的能力。每一个使用ArcrObjects建成的Arc-GIS产品都为开发者提供了一个应用开发的容器,包括桌面GIS(AreGISDesktop),嵌入式GIS(ArcGISEngine)以及服务端GIS(ArcGISServer)。
2百度地图APlforandroid开发
本篇通过一个简单的示例介绍如何在Android应用中使用百度地图api。
1)下载百度地图移动版API(Android)开发包要在Android应用中使用百度地图API,就需要在工程中引用百度地图API开发包,这个开发包包含两个文件:baidumapapi.jar和lib BMapApiEngine.so。
2)申请APIKey
在使用百度地图API之前也需要获取相应的APIKey。该Key与您引用API的程序名称有关,密钥的申请需要你的源码的包名和shal码。
3)创建一个Android工程
打开开发平台,创建工程。工程创建完成后,将baiduma-papi.jar和libBMapApiEngine.so分别拷贝到工程的根目录及libs/armeabi目录下,并在工程属性->JavaBttildPath->Libraries中选择“AddJARs”,选定baidumapcopi.jar,这样就可以在应用中使用百度地图API了。
4)导人百度API
点击File->Import,然后导人你在之前下载好的demo文件或者你要实现的某一种地图服务功能,接下来你就可以直接运行这些源码。
3ArcGisAPlforandroid开发
1)同百度地图的开发,要先把平台铺设好,安装好An-droidDevelopmentTools
2)下载相关的ArcGis开发控件,登录https://developers.arcgis.com/atutroid/,这是ArcGisRunTimeSDKforAndroid的下载的地方,下载相关的SDK。
3)同安裝ADT一样,安装下载好的ArcGis控件,点击help->installnewsofiware,安装下载的ArcGis控件。
4)安装好以后,建立一个自己的ArcGisAndroid应用,不同于百度的开发,ArcGis的开发不需要密钥,可以直接在新建工程中建立可以运行的小程序。
小结:以上两种方法,从用户便捷性上来说,ArcGIS更加“智能”一些,将动态链接库添加的工作,直接已经集成到rtew-project里面;百度地图的SDK相对来说,更加灵活一些,给用户更大的空间。
4百度地图APIforWeb开发(底层平台导入和开发步骤)
百度地图API是通过JavaScript以程序脚本方式将百度地图嵌入到用户网页的API,这一目标的实现方式和底层平台开发的主要步骤为:
1)同Android开发相同,注册百度账号获取APIKEY
2)加载导人百度地图的API。使用API时,通过地址http://api.map.baidu.com/api?v=2.0&ak=密匙来加载,在程序中加入以下代码:
5ArcgisAPlforWeb开发步骤
AregisAPI同百度地图API类似,也是通过JavaScript以程序脚本方式将地图嵌入到用户网页的API,其API的种类和调用相对于百度地图要更加细致,并且Arcgis提供了本地API的开发,可以下载SDK来进行本地API的调用。
6小结
初学者可以引用在线的AregisforJavaScript,但如果网速较慢或者只能连接内网,即可使用本地部署的API,只需配置好环境,将代码中的api调用改为本地api的路径即可,本地环境的部署可以参考Arcgis官方说明。通过以上Android平台的体验,两个SDK都是将其API库封装成so动态链接库供上层应用(Java)调用。