一个程序猿眼中的国内主流地图api_api中国地图-程序员宅基地

技术标签: 手机  百度  google  地图开发  api  微软  bing  

在网站或者手机应用中,经常用到地图api。在现在这么激烈的竞争下,各地图服务提供的服务基本都趋于一致了。一个公司推出的新服务,其他公司肯定也会很快的跟进。这样,对于开发者来说,地图api的选择就主要参考api的易用程度、地图效果等因素了,在此仅做一汇总比对:

1、google地图:

地图效果截图:

官方地图效果:http://ditu.google.cn/maps

官方api:https://developers.google.com/maps/documentation/javascript/?hl=zh-CN

地图数据源:高德

总结:

作为世界上最好的地图服务提供商(我想没人会反对吧?),虽然在国内遇到了种种不幸,即便如此,在智能手机市场(无论是Android还是iPhone,google地图的使用率是无法比拟的,即便苹果亲自出手,也怎奈确实技术尚未成熟)表现突出。

api文档非常详细,当然对国内的支持总不如国内服务商来的实在。开发者网站也经常出现无法访问的情况(你懂的),vpn或者翻墙浏览总不是一件惬意的事情。

潜在问题:根据zf规定,存在地图偏移,官方并没有提供解决办法;zf对谷歌的态度问题,哪天直接完全封杀,地图就可能一片灰了。

2、微软bing地图

地图效果截图:


官方地图效果:http://cn.bing.com/ditu/

官方api:http://www.microsoft.com/maps/

地图数据源:高德

总结:虽然把bing放在第二位,主要也是因为微软的名气大点,但bing地图的国内无论从知名度还是普及率,都远不及其他几家。虽然,个人还挺喜欢bing的地图样式,而且加载速度超快(莫非因为使用的人太少了。。。)。

api对国内开发者的支持不是很好,且bing地图的开发者不多,资源和交流论坛等就相对较少了。

3、百度地图

地图效果截图:


官方地图效果:http://map.baidu.com/

官方api:http://developer.baidu.com/map/

地图数据源:四维图新、CenNavi、道道通

成功案例:http://developer.baidu.com/map/case.htm

总结:api文档和例子都很实用。不过,官方的api v1.3坐标转换接口好像失效了...

国际经纬度坐标标准为WGS-84,国内必须至少使用国测局制定的GCJ-02,对地理位置进行首次加密。百度坐标在此基础上,进行了BD-09二次加密措施,更加保护了个人隐私。百度对外接口的坐标系并不是GPS采集的真实经纬度,需要通过坐标转换接口进行转换。

4、高德地图(MapABC)

地图效果截图:


官方地图效果:http://map.amap.com/

api参考:http://api.amap.com/

使用协议:http://code.autonavi.com/Agreement

数据源:高德

总结:作为国内知名导航和地图服务提供商,包括google在国内也在使用高德的地图数据,数据量上自然相当可观。api的使用基本与google和百度地图一样(功能略少一点,但正常使用的功能都已经具备)。

潜在问题:与google地图一样,地图偏移的问题无法直接解决。

5、soso地图


官方地图效果:http://map.soso.com/

官方api:http://api.map.soso.com/doc/index.html

地图数据源:高德

总结:腾讯这个山寨王也不愿在地图服务上落下。做了个soso地图但是使用的人太少。个人感觉比较鸡肋。

6、图吧地图

地图效果截图:


官方地图效果:http://www.mapbar.com/

官方api:http://open.mapbar.com/

地图数据源:四维图新

总结:不得不说,图吧的手机地图做的还真是出色,这也正是它比那些大公司产品来的更出名的原因吧。即使在web版上,也有人人、58、网易等等也都采用的图吧的地图方案。

api的丰富程度及易用性都还可以,可惜的是没有开发地图偏移的转换接口,GPS坐标到火星坐标的转换需要升级为高级用户api。

7、e都市(都市圈)

地图效果截图:

官方地图效果:http://bj.o.cn/

api参考:http://www.o.cn/mapapi/

地图数据源:都市圈

总结:

(1)地图效果:作为国内较早制作3D地图的服务商(其实算是伪3D,不支持旋转),显示效果还是非常精美的。目前3D支持的城市有限(30个左右),且即使在支持3D的城市中,也主要是在主城区才有3D,其他地区都是一片灰色。

地图加载速度很慢。已经绘制的区域,信息丰富程度还是相当不错的。

(2)api:基本做公司名片和小片区域的活动地图还不错,api功能基本还限于地图显示及相关。

(3)参考文档:没有找到。

(4)参看了网站并联系了客服,个人感觉这个api尚不完善,且主要是走企业定制这条路,可能与一般的使用api不太相同。

8、搜狗地图

地图效果截图:


官方地图效果:http://map.sogou.com/

api参考:http://map.sogou.com/api/

地图数据源:高德+nav2+CenNav

总结:搜狗也做地图,还有api还真是我没想到的。地图效果不错,api文档没有百度地图丰富,不过对于接触过的朋友很快就可以上手了。


附:本内容为个人整理,更新中...

仅代表个人观点。能力有限,欢迎指正。


2012-10-11


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/scy411082514/article/details/8059149

智能推荐

Leetcode 第338,342,344,345,367,389,392,404,405,409题(Java解法)-程序员宅基地

文章浏览阅读194次。Java解leetcode,助力面试之简单10道题(五)第338题 比特位计数解题思路代码第342题 4的幂解题思路代码第344题 反转字符串解题思路代码第345题 反转字符串中的元音字母解题思路代码第367题 有效的完全平方数解题思路代码第389题 找不同解题思路代码第392题 判断子序列解题思路代码第404题 左叶子之和解题思路代码第405题 数字转换为十六进制数解题思路代码第409题 最长回文串解题思路代码第338题 比特位计数示例 1:输入输出[3,2,3]3示例

C++ 学习笔记(对双端队列进行封装,实现数据生产者消费者)-程序员宅基地

文章浏览阅读698次。#pragma once #include <deque>#include <condition_variable>template <typename T>class MsgList { public: void add(const T& msg) { std::unique_lock<std::mutex> lock(mutex); queue.

python水表识别图像识别深度学习 CNN_水表 深度学习 识别-程序员宅基地

文章浏览阅读551次,点赞8次,收藏8次。重点:项目和文档是本人近期原创所作!程序可以将水表图片里面的数据进行深度学习,提取相关信息训练,lw1.3万字重复15%,可以直接上交那种!具体和看下面的目录。python水表识别,图像识别深度学习 CNN,Opencv,Keras。_水表 深度学习 识别

【DataSet】遥感图像方面的人工智能数据集_群智感知 图像数据集-程序员宅基地

文章浏览阅读288次。遥感图像方面的人工智能数据集数据集类别常用数据集目标检测数据集DSTL 卫星图像数据集;RSOD-Dataset 数据集;NWPUVHR-10地理遥感数据集图像分割数据集Inria AerialImage Labeling Dataset 遥感图像数据集遥感图像分类数据集UCMerced Land-Use Data Set 土地遥感数据集_群智感知 图像数据集

python使用镜像安装opencv_opencv_python安装镜像-程序员宅基地

文章浏览阅读2.9k次,点赞3次,收藏11次。如何在pycharm中安装opencv_opencv_python安装镜像

手把手教你IDEA创建SSM项目结构_idea创建ssm web项目-程序员宅基地

文章浏览阅读595次,点赞2次,收藏8次。我的小站SSM项目需要用来管理依赖,所以我们需要先配置好,配置很容易,我就不演示了。首先,我们新建项目,勾选,选择模板,然后创建。这里耐心等待下载完成。可以看到,这里没用相关的文件夹。我们直接在文件夹上右键新建文件夹,下面会显示一个,直接创建就可以。此时,我们按照规范来,创建一个包。项目结构多种多样,比如三层架构啥的,按照你的需求来。我这里就稍微演示一下。这里这些结构都是可以自己按照规范命名,结构也有很多,分层架构方法也有很多,这里权当借鉴一下。我这里整合了一份依赖,如需使用可按照自己需求和对于版本进_idea创建ssm web项目

随便推点

Python编程基础:第六节 math包的基础使用Math Functions_ps math function-程序员宅基地

文章浏览阅读565次。第六节 math包的基础使用前言实践前言我们通常会对数值型变量进行计算,这里我们给出一些常用的函数用于辅助你的计算过程。常用的数学计算函数均在math包。实践首先我们导入math包,并定义一个浮点型变量pi将其赋值为3.14:import mathpi = 3.14如果我们需要计算浮点型变量四舍五入后的计算结果,用函数round()即可:print(round(pi))>>> 3如果我们需要向上取整,那就需要函数math.ceil():print(math.cei_ps math function

canal异常 Could not find first log file name in binary log index file_canal could not find first log file name in binary-程序员宅基地

文章浏览阅读4.4k次,点赞3次,收藏2次。Could not find first log file name in binary log index file问题解决解决过程问题最近在使用canal来监测数据库的变化,处理变动的数据。由于有一段时间没有用了,这次启动在日志文件中看到这个异常 Could not find first log file name in binary log index file,详细信息如下:2020-12-16 19:14:42.053 [destination = tradeAndRefund , addr_canal could not find first log file name in binary log index file

【练习】生成10个1到20之间的不重复的随机数并降序输出-程序员宅基地

文章浏览阅读960次。分析:1.创建一个Random对象;2.创建一个hashset的集合对象;3.循环生成10个1-20的随机数4.输出。package edu.xalead;import java.util.*;public class Test { public static void main(String[] args) { Random r...

linux系统扩展名大全,Linux系统文件扩展名学习-程序员宅基地

文章浏览阅读3.2k次。Linux系统下的扩展名并不能标识该文件是属于哪一种类型的文件。文件是否可以执行等都跟文件的扩展名无关。因为文件script没有执行权限,所以也就无法执行,sh-3.2# touch ./scriptsh-3.2# ls -lh ./script-rw-r--r-- 1 root root 0 Dec 28 06:15 ./scriptsh-3.2#sh-3.2# ./scriptsh: /scr..._linux的扩展名

WPF TabControl 滚动选项卡_wpf 使用tabcontrol如何给切换的页面增加滚动条-程序员宅基地

文章浏览阅读1.3k次,点赞27次,收藏19次。我原本以为是很简单的事情,但是没想到实际做起来还是有很多的基础知识点的。我们平常写TabControl的时候,可能都很习惯了直接写TabControl+TabItem。但是TabControl负责了什么布局,TabItem负责了什么布局,我们都不知道。在《深入浅出WPF》中,我们可以看到TabControl属于ItemsControl我们去看看控件模板样式副本。WPF的xaml的优点是每个控件都是单独的逻辑,耦合低。缺点是写起来麻烦,每次改动约等于重新写一个新的。通过增加自己的工作量来降低了耦合我们可以看_wpf 使用tabcontrol如何给切换的页面增加滚动条

Apache Jmeter常用插件下载及安装及软硬件性能指标_jmeter插件下载-程序员宅基地

文章浏览阅读2.1k次,点赞24次,收藏47次。Apache Jmeter常用插件下载及安装_jmeter插件下载

推荐文章

热门文章

相关标签