开放街道地图API - 打开图层/ MapQuest的
问题描述:
我试着去了解什么是什么,但我有点困惑:开放街道地图API - 打开图层/ MapQuest的
OpenStreetMap的是免费使用的地图。可能的API这个地图是:
-OpenLayer
-MapQuest
为什么OpenLayer使用MapQuest的代码OpenLayer例如: http://openlayers.org/en/v3.1.1/doc/quickstart.html
<script type="text/javascript">
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
})
],
view: new ol.View({
center: ol.proj.transform([37.41, 8.82], 'EPSG:4326', 'EPSG:3857'),
zoom: 4
})
});
</script>
也许这个问题很奇怪,但我想知道为什么一个API的使用来自别人的表达?
答
您正在将API与框架,服务和公司混合在一起。
MapQuest是一家公司。 MapQuest Open提供基于OSM数据的各种服务,例如路由,地理编码和tiles。因此,MapQuest Open也为这些服务提供了各种API,但这些API不能直接与原始OSM数据交互。
OpenLayers是一个用于在网络浏览器中显示地图的JavaScript库,类似于Leaflet。 OpenLayers和Leaflet不以任何方式属于OSM,它们只支持在其他地图中显示OSM。两者都有自己的API来构建和显示交互式地图,但大多数这些API既不能直接与原始OSM数据交互。 OpenLayers和Leaflet可用于嵌入各种地图图块,例如MapQuest Open或Google Maps提供的图块。
相比之下,OSM提供了用于编辑和检索原始地图数据的API。常规的editing API主要用于编辑原始地图数据,但不用于检索它。如果你想检索特定的功能,那么看看Overpass API而不是好的交互式前端overpass turbo。
另请参阅OSM wiki中的list of OSM-based services以及OSM software。
谢谢。这正是我所期待的。 – Radek 2015-01-10 14:55:43