主流地图API比较
2010年07月12日
最近因为工作关系,对市面上主流的地图API都进行了一遍了解,现把文档同大家共享一下。我们对市面上几款主流的地图API服务提供商:Google地图服务,MapABC地图服务,微软地图服务,以及其他地图服务进行技术调研,根据调研总结结果为我们选用更为符合需求的地图服务提供商提供参考。
本次技术调研内容主要为:
1. 各类MAP-API使用方法。MAP-API针对系统的开发效率的调查,比如在使用的合理性,封装的便利性几个方面。
2. 各类MAP-API的功能初步调研,各类MAP-API在免费版本中的功能限制调研,针对免费和收费版本的异同,收费策略和价格
3. 针对每种MAP-API以免费版本的API完成一个简单的调用示例,也便于对每种API进行代码级别的使用体验。
2.1.1. 主要使用方法介绍和评估:
Google Map API的种类和应用场景:
A. Google JavaScript地图API : 内嵌Iframe展现形式,适用于一般的互联网应用系统,具有标准主流浏览器装载的客户端系统。支持的浏览器类型:ie,firefox,safari,google chrome。使用标准的Java脚本进行开发,可集成google地图空间,与标准google地图功能类似。
B. Google Maps API(Flash版):FLASH展现形式,使用flex继续开发,适用于标准浏览器装载的客户端系统。'
C. Google 静态地图API: 图片:图片展现形式,使用http接口进行图片地图的创建,所实现功能较前两种少,但无需使用java脚本实现,适用于手机或定制化客户端系统的服务调用。静态地图和前两种地图相比还有个遵从每位查看者每天的唯一(不同)图像请求不超过 1000 次的查询限制配额,也就是说每个访问者每天可以查看1000个不同的地图图片,对于相同的图片没有限制,所以考虑到一般系统的访问量,此配合即可满足大部分系统的要求。
评估:
Google提供的这三种API已经基本可以满足大部分的系统需求,在开发难度上除Flex还不是主流技术,开发成本较高外,其他两种技术在使用上都使用标准的网页开发技术,接口难度系数不大,尤其是在静态地图API中,还提供了专门为手机所使用的WAP的地图类型.
2.12. API主要特性列表以及版本功能限制:
Google Map API的主要特性列表:
A. 地址解析(从地址名称解析到具体经纬度)
B. 缩放级别的设置
C. 图像大小的设置
D. 标记添加
E. 地图路径显示
(以上为静态地图和动态地图共有,以下为动态地图独有)
F.事件监听(监听客户端浏览器事件,并在需要接受的事件总定义处理方法)
G.. 地图控件(包括加载标准地图控件以及创建自定义控件,比如可以自己加入标注的控件,切换地图类型的控件,缩放地图的控件等等)
H. 街道全景对象
I. 与google earth集成
J. 交通功能(行车路线,出行模式,路线路段)
K.可与Google AJAX API 集成开发,提高开发效率
L. 支持HTTPS连接对API的访问(企业版专有)
2.1.3.收费策略和商业限制:
Google Maps Api分为两个版本,一个是免费版,一个是企业版。
免费版不对使用者进行收费,但是对使用场景有一定的商业限制:
A. 每天可发出的地址解析请求数有限制,遵从每位查看者每天的唯一(不同)图像请求不超过 1000 次的查询限制配额。
B. 服务必须让最后的使用者免费访问。所以部分商业用途是符合使用条款的,以下两种情况不能使用免费版:(1)仅付费客户可以使用您的网站(2)仅可从您的公司或您的 Intranet 中访问您的网站。详见google api的使用条款
Google Code上有很多map api的示例,讲解的十分全面,这里就不多说了。
总结:Google api 优势:充足的开发资源和文档资源,与google map平行的api功能,强大的自定义组件和控件功能。在静态API中有针对mobile类型系统的地图类型,API操作简单高效,符合一般性系统开发需求。
2.2.1. 主要使用方法介绍和评估:
Map ABC API的种类和应用场景:
A. Ajax For Flash 地图API2&Ajax搜索API : MapABC只有一种API类型,就是基于java脚本技术的内嵌Flash地图展现形式,适用于一般的互联网应用系统,具有标准主流浏览器装载的客户端系统。支持的浏览器类型:因为官方未公布所支持的浏览器类型,所以本次调研测试了ie,firefox基本没有问题,由于MAPABC使用的地图展现载体是flash,所以理论上所有支持flash格式和Javascript的浏览器都可以使用。
B. MAP ABC 静态API:通过JAVA脚本进行静态地图的生成,主要应用场景在需要加快地图加载,只是示意性进行地图展示的系统中调用。
C. MAP ABC 地图组件API:在原有API的基础上进行封装,简化了开发复杂度,提高了开发效率。
评估:
MAP ABC接口全部采用java脚本进行调用,脚本使用比较方便,但是生成的地图格式为flash格式,暂不支持其他格式的地图。至少目前为止厂商在免费版本还未提供基于服务端接口的地图生成的API,企业版是单独提供此类接口的。目前来看MAPABC API还是着重于地图WEB端的展示作用,从这点来看,比Google的免费版弱一些。
2.2.2. API主要特性列表以及版本功能限制:
MAP ABC API的主要特性列表:
A. 缩放级别的设置
B. 图像大小的设置
C. 标记添加
D. 地图路径显示
F.事件监听(监听客户端浏览器事件,并在需要接受的事件总定义处理方法)
G.. 地图搜索功能(地点搜索,公交路线搜索,行车路线搜索)
H. 地图绘图工具集成
I. 地图控制面板
J. 静态地图生成功能
K. 地图组件封装
2.2.3.收费策略和商业限制:
MapABC Api分为两个版本,一个是公众版,一个是企业版。
免费版不对使用者进行收费,但是对使用场景有一定的商业限制:
A. 使用Map ABC API服务,网站系统所提供给用户的服务必须是开放给一般大众使用且免费的服务详见map abc api的API使用条款。
B. 不能更改或遮盖地图上的徽标或归属内容。
企业版除具有公众版版的所有功能外,还会增加一些定制服务和技术支持服务。这些增强点为:
D. 专业开发团队的开发服务
E. 从前台界面到后台功能的定制开发
F. 有针对性的MapABC地图API开发培训
G. 快速响应的技术支持。
2.2.4.技术支持:
免费版的技术支持包括MAP ABC网站文档以及MAP ABC 地图API论坛的支持。
企业版除上述支持外还有人工的客户服务支持。
2.2.5 MAPABC API 的使用
为了正常使用MAPABC API,在进行开发之前需要在其项目主页上
http://code.mapabc.com/v1/signup.shtml 下载API所需的密钥。
示例程序可见其网站。
以上我们对国内国外两种主流的地图服务进行了技术调研,除此之外,市面上还有一些其他的地图API,比如51tidu,yahoo地图API,微软Virtual Earth API,MAPBAR 等。
51ditu和Mapbar同MapABC类似,都是国产地图服务,其特点同MapABC类似,主要是不支持静态地图的服务端调用,全JAVAscript的调用方式,在WEB上调用方便,但接口灵活性差,并不合适WAP网站的开发。
Yahoo 的地图接口功能与Google类似,接口类型相比google更为方便和灵活,但是目前雅虎地图API服务还不支持中国地图,所以目前暂不考虑。如果以后开放了中国区地图,Yahoo API 也是值得考虑的选择。目前Yahoo地图支持静态地图生成,同时每日的同一ip的访问限制为50000次.
微软地图virtual map api功能较为全面,接口设计灵活性与可封装性也很好,同样支持静态地图服务端生成,借助微软的MSDN社区的支持下,开发资源和文档也堪比Google Maps,但是由于此产品是微软自有服务,保持微软一贯的风格,virtual map 官方称只支持ie6/ie7,另外在调用速度上个人感觉比Google API 也略逊一筹。同时在本次调研时,微软的live.cn因为某些原因被GFW封掉了,因此同样影响到了微软地图API服务ditu.live.com, 类似的事件希望以后还是少发生为妙。
大家根据初次调研比较结果,我们得到了以上的数据,目前相比较来看,从功能上和访问速度上,以及各种资源的限制结合考虑,目前符合较为符合目前我们技术需求的是 Google Maps API。它拥有强大的功能和较少的资源限制。
本次只是做了简单的调研,结果不一定完全准确。只是给大家一个参考,大家在选择和使用地图的API上还是根据自己的需求进行选择,复杂度不高的话,可以选择免费的国外厂商的API,如果是复杂的企业应用,也可以选择服务和支持力度较好的国内厂商的API及他们的定制服务。有机会我会将以上提到的API一一详细介绍。
以上为个人不完全调查结果,仅供参考。
发表评论
-
Flash builder 4.5支持Android平台之初体验
2012-01-20 08:52 679Flash builder 4.5支持Android平台之初体 ... -
Hello,Flex
2012-01-20 08:52 612Hello,Flex 2010年07月26日 ... -
Ubuntu7.04使用中遇到的问题及从网上搜集的解决办法(截止2007-11-3日) 收藏
2012-01-20 08:52 820Ubuntu7.04使用中遇到的问 ... -
OGRE关于 Demo_Ocean 例子的分析
2012-01-20 08:51 946OGRE关于 Demo_Ocean 例子的 ... -
flex 学习
2012-01-19 13:58 583flex 学习 2010年06月29日 http://b ... -
Flex网站收集
2012-01-19 13:58 500Flex网站收集 2011年07月13日 一、国外站点 ... -
FLEX学习笔记<3>
2012-01-19 13:58 559FLEX学习笔记 21小时前 FLEX之际连接数据库。 ... -
FLEX 网站
2012-01-19 13:58 669FLEX 网站 2010年09月19日 ... -
46个Flex和actionscript3开源项目
2012-01-19 13:58 53046个Flex和actionscript3开源项目 2011 ... -
大学计算机基础选择题答案!!
2012-01-17 03:46 1191大学计算机基础选择题 ... -
CMD 命令 拓展
2012-01-17 03:46 684CMD 命令 拓展 2011年12月05日 果没有一定的 ... -
《电力工程基础多媒体教学课件》制作技术详解
2012-01-17 03:46 680《电力工程基础多媒体 ... -
lib 与 obj 文件的关系 (转)
2012-01-17 03:46 1874lib 与 obj 文件的关系 (转) 2011年12月02 ... -
永不放弃 never give up 我的校园
2012-01-16 02:23 729永不放弃 never give up 我 ... -
应聘教师时的常见问题2012-1-1
2012-01-16 02:23 609应聘教师时的常见问题2 ... -
一言既出,驷马难追
2012-01-16 02:23 615一言既出,驷马难追 2012年01月12日 ... -
恶作剧之吻
2012-01-16 02:23 558恶作剧之吻 2012年01月14日 长大是一种忧伤的颜色 ...
相关推荐
最近因为工作关系,对市面上主流的地图API都进行了一遍了解,现把文档同大家共享一下。我们对市面上几款主流的地图 API 服务提供商: Google 地图服务, MapABC 地图服务,微软地图服务,以及其他地图服务进行技术...
MapGis二次开发帮助 chm格式 电子书
01.支持10个主流地图厂商的40多款在线地图的浏览、下载 02.支持按行政区划下载、画框下载、多边形下载、导入KML下载 (下载方式灵活) 03.Web地图服务发布 -- 灵活搭建自己的局域网地图服务器 (将下载地图发布为...
本课程主要介绍ArcGIS API for JavaScript的开发,结合目前主流的前端开发框架React和Vue来进行详细的讲解,ArcGIS API for JavaScript版本选择最新版的4.14版本。课程主要包括在React和Vue中ArcGIS API for ...
针对已有主流地理信息系统平台存在价格昂贵、且对开发者技术要求高等局限性,采用地图搜索引擎提供的API,结合JSP与JavaScript技术,根据学校的地理结构,设计开发了校园在线电子地图。实现了校园地图显示、建筑物...
此文档详细的介绍了当今主流的提供地图API接口的公司 包括 google 百度 高德 图吧等 详细的对比了各个API的优缺点,有详细的对比图表。方便你开发地图,LBS应用时,选择一个适合自己公司的API接口
数据本地化 解决接口缓存数据无限增加,读取慢的问题,速度极大提升 ...8.0对页面采用了更科学、更友好的页面设计,全面兼容各大主流浏览器。 增加用户问答功能 用户可以直接在线向酒店提问。增强了用户交互体验。
这是一个集成目前Android主流优秀第三方组件、优秀好用的自定义控件、实用工具类封装、 以及一些APP共通模块(比如:版本更新、意见反馈、引导界面等等)的开发包,帮助程序员 快速开发自己的APP 已集成第三方...
这是一个集成目前Android主流优秀第三方组件、优秀好用的自定义控件、实用工具类封装、以及一些APP共通模块(比如:版本更新、意见反馈、引导界面等等)的开发包,帮助程序员快速开发自己的APP 已集成第三方开源...
1、支持10个主流地图厂商的32款在线地图的浏览、下载 2、支持按行政区划下载、画框下载、多边形下载、导入KML下载 (下载方式灵活) 3、Web地图服务发布 (将下载地图发布为Web服务(WMTS/WMS),供ArcGIS、SuperMap...
特别是目标是避免OGC Web API与访问,处理和管理不同种类的地理空间资源(例如要素,地图,图块,覆盖范围,观测值,过程等)根本不同。 目的和过程 熟悉用于主流IT设计的Web API的任何人都应该可以实现允许管
包括了Skyline整套软件工具,给客户提供一站式服务,并开放了所有的API,不论是在网络环境中还是单机应用,让用户能够根据自己的需求定制功能,建立个性化的三维地理信息系统。 产品形式:TerraExplorer、...
丰富内容增加点评和问答页面增加了点评和问答相关页面,增强网站粘性电子地图优化优化了电子地图的加载速度与地图功能酒店列表增加房型读取酒店列表页可以直接展示房型,增加了用户体验,丰富了表现效果增加1000万...
这是一个集成目前Android主流优秀第三方组件、优秀好用的自定义控件、实用工具类封装、以及一些APP共通模块(比如:版本更新、意见反馈、引导界面等等)的开发包,帮助程序员快速开发自己的APP 已集成第三方...
这是一个集成目前Android主流优秀第三方组件、优秀好用的自定义控件、实用工具类封装、以及一些APP共通模块(比如:版本更新、意见反馈、引导界面等等)的开发包,帮助程序员快速开发自己的APP 已集成第三方开源...
可以通过本软件发布一些自己喜欢的好玩的信息,让其他...使用的主要技术有百度地图API,支付宝支付功能,个人资料的修改,头像的修改,以及活动的发布等主流技术。首页采用下拉刷新、上拉加载的Xlistview等开源框架。
目前,主流的客户端缓存地图切片技术都是基于C/S结构,这种技术在移动设备的地图APP程序中应用较广泛。B/S结构由于安全机制的限制,不能够在客户端存储大容量的文件,这一特点严重阻碍了基于WebGIS技术的地图应用...
全书从lbs应用的背景及现状讲起,围绕技术和商业两个主题,全景式地介绍了主流定位技术(gps、小区识别码、wi-fi等)、地图api(mapquest、google、bing、yahoo等)、消费者应用类型(导航、社交、娱乐及增强现实等...
客栈联盟是一个基于JavaEE采用SSH框架、百度地图API开发的Java Web应用程序。该系统采用了B/S架构,充分发挥了Java语言应用于Web Application所特有的跨平台优势。采用MCV三层设计模式,明确了各个层的系统功能。...
百度地图毕业设计源码 第一章:高并发编程Netty实战课程介绍 1、异步事件驱动NIO框架Netty介绍 简介:介绍Netty来源,版本,目前在哪些主流公司和产品框架使用 1、Netty是由JBOSS提供的一个java开源框架, 是业界最...