【问题标题】:mapquest direct tile access discontinuedmapquest 直接磁贴访问已停止
【发布时间】:2016-07-11 20:05:30
【问题描述】:

截至今天 2016 年 7 月 11 日,MapQuest 已停止直接访问他们的图块。它们似乎只支持 Leaflet、iOS 和 Android SDK。知道如何让 Openlayers 再次与 MapQuest 一起工作,还是我们应该考虑另一种选择?谢谢。

【问题讨论】:

  • 我也是这样……
  • 有没有人在关闭服务前收到通知???我不知道如何描述这种专业行为
  • @AnestisKivranoglou 我和你一样……突然,我的应用程序中的地图停止向客户显示地图……真是令人尴尬。
  • 我向所有阅读本文的人保证,当我找到任何解决方案时,我会立即发布。

标签: openlayers mapquest


【解决方案1】:

就像更改 tileUrl 一样简单。

替换这个:

var tileUrl = 'http://otile{s}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.png?x'; 

用这个:

var tileUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';

然后像以前一样使用:

L.tileLayer(tileUrl, {  }).addTo(map);

【讨论】:

  • 我无法让tileUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png' 工作。如果我使用tileUrl = 'http://tile.openstreetmap.org/{z}/{x}/{y}.png',我就能让它工作
  • 使用https://tile.openstreetmap.org/1/1/1.png 会返回security certificate 错误。
【解决方案2】:

对于使用 OpenLayers 的底图图像,我们基本上可以做到 必应地图、Mapbox 和 DigitalGlobe。这三项服务都需要 一个 API 密钥,并且这三个都提供免费层。

我目前正在使用 DigitalGlobe,并且非常满意 到目前为止,他们的分辨率和覆盖范围。要在 OpenLayers 中使用它, 首先在他们的网站上注册一个 API 密钥。

http://mapsapidocs.digitalglobe.com/

然后只需使用以下磁贴源(记得替换 YOUR_ACCESS_TOKEN):

new ol.layer.Tile({
  title: 'DigitalGlobe Maps API: Recent Imagery with Streets',
  attribution: "© DigitalGlobe, Inc",
  source: new ol.source.XYZ({
            url: 'http://api.tiles.mapbox.com/v4/digitalglobe.nal0mpda/{z}/{x}/{y}.png?access_token=YOUR_ACCESS_TOKEN'
  })
})

这会为您提供具有分辨率的全球卫星图像 从几米到10厘米不等!他们提供 比我在此示例中提供的基础层更多,但是 这应该可以帮助您快速入门。

有关 DigitalGlobe 的更多 OpenLayers 示例,请参阅此链接:

http://mapsapidocs.digitalglobe.com/docs/maps-api-openlayers

【讨论】:

    【解决方案3】:

    使用 OSM 源:

    var osmLayer = new ol.layer.Tile({
        source: new ol.source.OSM()
    });
    

    而不是这个:

    new ol.layer.Tile({
        source: new ol.source.MapQuest({ layer: 'osm' })
    });
    

    适用于 OL3。

    【讨论】:

      【解决方案4】:

      我问他们on their forum。答案是否定的,除了 MapQuest 提供的 SDK 之外,我们不能再将 MapQuest 瓦片与任何其他 SDK 一起使用。

      此外,即使使用 MapQuest SDK,也禁止缓存/存储数据,即使使用付费帐户也是如此。

      如果您需要免费、无限制的全球地图,唯一的其他选择(据我所知)是 Open Street Map。虽然没有卫星图像,但遗憾的是,MapQuest 是唯一一个(据我所知)。

      如果你准备好付款,你应该可以使用 MapBox。

      编辑:我刚刚通过 MapQuest 团队的电子邮件收到了另一个新消息:

      actually we don't do the maps anymore, we use Mapbox.
      MapQuest is focusing on some mobile and IoT applications, routing and direction engines rather than maps
      

      【讨论】:

        【解决方案5】:

        出现这个问题是因为.. 无需密钥即可直接访问 MapQuest 地图图块将于 2016 年 7 月 11 日结束。获取密钥和 SDK 的详细信息。

        您可以访问以下网址进行确认

        https://lists.openstreetmap.org/pipermail/talk/2016-June/076106.html

        【讨论】:

          【解决方案6】:

          目前,我暂时切换到 Bings 地图作为解决方法。是的,它还需要一个 api 密钥,但至少它可以与 OL3 一起使用。

          【讨论】:

            【解决方案7】:

            由于这个问题在任何感兴趣的惊慌失措的 Leaflet 用户中广受欢迎,因此这是一个快速的解决方案。

            现在您需要下载包含 (不要忘记您的密钥) ,而不是直接通过 Leaflet 创建地图图层MapQuest Leaflet 插件

            <script src="https://www.mapquestapi.com/sdk/leaflet/v2.2/mq-map.js?key=KEY"></script>
            

            然后您使用 MapQuest 插件创建地图图层

                window.map = L.map('map', {
                    center: [50.066, 8.73],
                    zoom: 13
                    //Or alternatively init layer here  layers:MQ.mapLayer()
                });
            
                var mapLayer = MQ.mapLayer().addTo(map);
            

            MapQuest Plugin Documentation

            【讨论】:

            【解决方案8】:

            我切换到 ESRI 底图,效果很好。

            确保您已引用传单:

            您还可以使用 world_Street_Map 和其他 ESRI 底图。

            【讨论】:

            • 不要在代码示例中使用图片。这不是 Stack Exchange 的工作方式。
            猜你喜欢
            • 2016-11-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-12-10
            • 1970-01-01
            • 1970-01-01
            • 2010-11-26
            相关资源
            最近更新 更多