打开街道地图API - 打开图层/ MapQuest

时间:2015-01-09 18:54:20

标签: openstreetmap openlayers-3 mapquest

我试着理解什么是什么,但我有点困惑:

OpenStreetMap 可以免费使用地图。此地图可能的 API 是:

-OpenLayer 
-MapQuest

为什么OpenLayer在OpenLayer示例中使用MapQuest代码: 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使用其他人的表达?

1 个答案:

答案 0 :(得分:6)

您正在将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维基中的list of OSM-based services以及OSM software