`
longgangbai
  • 浏览: 7332379 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多
最近因为工作关系,对市面上主流的地图API都进行了一遍了解,现把文档同大家共享一下。我们对市面上几款主流的地图API服务提供商:Google地图服务,MapABC地图服务,微软地图服务,以及其他地图服务进行技术调研,根据调研总结结果为我们选用更为符合需求的地图服务提供商提供参考。
 

1.调研内容计划

   本次技术调研内容主要为:
1.       各类MAP-API使用方法MAP-API针对系统的开发效率的调查,比如在使用的合理性,封装的便利性几个方面。
2.       各类MAP-API的功能初步调研,各类MAP-API在免费版本中的功能限制调研,针对免费和收费版本的异同,收费策略和价格
3.       针对每种MAP-API以免费版本的API完成一个简单的调用示例,也便于对每种API进行代码级别的使用体验。

2.调研详细内容

2.1 GOOGLE MAP API 调研

2.1.1. 主要使用方法介绍和评估:
   Google Map API的种类和应用场景:
A.        Google JavaScript地图API : 内嵌Iframe展现形式,适用于一般的互联网应用系统,具有标准主流浏览器装载的客户端系统。支持的浏览器类型:iefirefoxsafarigoogle 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使用条款
    C. 不能更改或遮盖地图上的徽标或归属内容。
  
   企业版除具有免费版的所有功能外,还会根据收费策略的不同,加强服务功能的提升并更改了一些商业限条款。这些增强点为:
A.      支持强大的服务级别协议(SLA
B.      客户服务支持
C.      增加了地址解析限制
D.     商业级应用限制的变更
E.      支持HTTPS连接对API进行访问,达到数据保密的目的。
 
2.1.4.技术支持:
   免费版的技术支持包括google code的专业详细的开发文档和google 地图API论坛的支持。
   企业版除上述支持外还有人工的客户服务支持。
2.1.5.        Google MAP API 使用
   为了正常使用google API,在进行开发之前需要在其项目主页上
http://code.google.com/intl/zh-CN/apis/maps/ 下载API所需的密钥。
Google Code上有很多map api的示例,讲解的十分全面,这里就不多说了。
 
总结:Google api 优势: 充足的开发资源和文档资源,与google map平行的api功能,强大的自定义组件和控件功能。在静态API中有针对mobile类型系统的地图类型,API操作简单高效,符合一般性系统开发需求。

2.2 MAP ABC API 调研

2.2.1. 主要使用方法介绍和评估:
   Map ABC API的种类和应用场景:
A.     Ajax For Flash 地图API2&Ajax搜索API : MapABC只有一种API类型,就是基于java脚本技术的内嵌Flash地图展现形式,适用于一般的互联网应用系统,具有标准主流浏览器装载的客户端系统。支持的浏览器类型:因为官方未公布所支持的浏览器类型,所以本次调研测试了iefirefox基本没有问题,由于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 apiAPI使用条款
    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所需的密钥。
示例程序可见其网站。
  

2.3 其他地图服务 API 调研总结

     以上我们对国内国外两种主流的地图服务进行了技术调研,除此之外,市面上还有一些其他的地图API,比如51tiduyahoo地图API,微软Virtual Earth APIMAPBAR 等。
      51dituMapbarMapABC类似,都是国产地图服务,其特点同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, 类似的事件希望以后还是少发生为妙。
 
3 总结
 
大家根据初次调研比较结果,我们得到了以上的数据,目前相比较来看,从功能上和访问速度上,以及各种资源的限制结合考虑,目前符合较为符合目前我们技术需求的是 Google Maps API。它拥有强大的功能和较少的资源限制。
 
本次只是做了简单的调研,结果不一定完全准确。只是给大家一个参考,大家在选择和使用地图的API上还是根据自己的需求进行选择,复杂度不高的话,可以选择免费的国外厂商的API,如果是复杂的企业应用,也可以选择服务和支持力度较好的国内厂商的API及他们的定制服务。有机会我会将以上提到的API一一详细介绍。
 
     以上为个人不完全调查结果,仅供参考。
 
 

本文出自 “技术论坛-天使之城” 博客,请务必保留此出处http://zhangmeng.blog.51cto.com/310854/164128

分享到:
评论
1 楼 deserteaglec 2009-10-30  
怎么没有 51ditu 和 mapbar 的比较?

相关推荐

    主流地图API比较 .doc

    这篇文档主要探讨了市面上的主流地图API,包括Google地图服务、MapABC地图服务和微软地图服务,旨在为选择合适的地图API提供依据。 首先,我们来看Google地图API。Google提供了三种主要的API类型:JavaScript API、...

    百度地图API学习源代码

    百度地图API作为国内主流的地图服务提供商之一,为开发者提供了丰富的功能和便捷的接口。这个压缩包“BaiDuMap”包含了使用百度地图API进行开发的学习源代码,对于想要掌握这项技术的开发者来说是一份宝贵的资源。 ...

    凯立德Web地图API2010开发指南

    根据给定的文件信息,以下是关于“凯立德Web地图API2010开发指南”的详细知识点解析: ### 一、API概述 #### 关于凯立德地图API 凯立德地图API是一款由深圳市凯立德计算机系统技术有限公司提供的基于JavaScript的...

    高德地图API POI类别对照表

    ### 高德地图API POI类别对照表:深入解析与应用 #### 一、概述 在数字地图和地理信息系统(GIS)领域,高德地图作为国内领先的地理信息服务提供商,其API(应用程序接口)广泛应用于各类移动应用、网站及企业级...

    百度地图离线API 1.3(去logo,保证可用)

    百度地图作为国内主流的地图服务商之一,提供了丰富的API供开发者使用。本文将详细介绍“百度地图离线API 1.3(去logo,保证可用)”的相关知识点,帮助开发者在离线环境下实现地图功能。 首先,我们需要理解什么是...

    百度地图隐藏无关区域

    在给定的标题“百度地图隐藏无关区域”中,我们可以深入探讨如何利用百度地图API定制化地显示地图内容,使其仅展示用户关心的特定行政区,从而提高界面的清晰度和用户体验。 百度地图是中国主流的地图服务平台之一...

    基于网络地图API的位置共享地图服务技术.docx

    #### 主流地图API介绍 - **Google地图API**:免费开放,功能强大,支持多种特性服务,是3D效果较好的地图API之一。 - **腾讯地图API**:兼容性强,动画效果流畅,适用于旅游场景。 - **百度地图API**:支持多平台...

    ArcGIS api for javascript 3.21版本加载高德地图

    同时,高德地图API也提供了各种地理服务,如路线规划、兴趣点搜索等,可以进一步集成到ArcGIS应用中,提升用户体验。 总之,结合ArcGIS API for JavaScript 3.21版本和高德地图,开发者可以构建出功能强大的Web GIS...

    百度地图 js api

    - **地图API**: 地图API是一组接口,允许开发者通过编程方式与地图服务进行交互,如加载地图、定位、标注、路径规划等。 - **JavaScript**: 作为Web开发的主流语言,JavaScript用于在浏览器端处理用户交互和动态内容...

    小程序-地图调用API.zip

    本篇将深入探讨如何在小程序中使用百度、腾讯和高德三家主流地图服务商的API来实现地图功能。 首先,我们要了解的是微信小程序对地图的支持。小程序内置了地图组件(map),可以通过配置该组件来展示地图。但要获取...

    流域kml解析,高德地图、百度地图等进行展示。

    4. **地图集成**:最后,利用地图API的函数,将转换后的数据添加到地图上,生成可交互的图层,用户可以在地图上查看和探索辽河流域的详细情况。 通过这样的过程,我们可以将复杂的地理数据以直观的方式呈现出来,...

    高德地图定位、覆盖物根据级别修改大小、pop弹窗

    本项目聚焦于高德地图API的几个核心功能:定位、覆盖物、缩放级别下的覆盖物大小调整以及弹窗(Pop)显示内容。 首先,我们要理解“定位”这一概念。在高德地图API中,定位是指获取用户当前地理位置的能力。这通常...

    百度地图API在Android中的配置和应用.pdf

    国内主流在线地图服务比较与选择[J]. 计算机工程与应用, 2011, 47(15):225-228. 通过以上内容,我们可以了解到在Android应用中配置和使用百度地图API的关键点,以及如何利用这些功能来构建具有地图功能的应用程序...

    高德地图画线,单条多条带方向示例

    在IT行业中,尤其是在移动应用和Web开发领域,地图API的使用是相当常见的。高德地图作为国内主流的地图服务提供商之一,提供了丰富的API功能,其中包括在地图上绘制线路的能力。本篇将详细介绍如何在高德地图上实现...

    gmap中添加高德地图(标准,卫星,和混合路网地图)

    本篇将详细介绍如何在gmap(可能是基于高德地图API的一个封装库)中添加高德地图的三种视图:标准地图、卫星地图以及混合路网地图。 首先,我们需要了解高德地图API的基本概念。高德地图API是高德地图提供的一套...

    ARCGIS直接调用百度、天地图地图服务的插件

    百度地图API是百度提供的地图服务接口,包括地图瓦片、标注、路线规划等多种功能。在ARCGIS中使用百度地图插件,可以实现在地图界面中加载百度地图的卫星图、地形图或者道路图,甚至可以结合百度的定位服务,实现...

Global site tag (gtag.js) - Google Analytics