As of today 2016-07-11, MapQuest has discontinued direct access to their tiles. They seem to only support Leaflet, iOS and Android SDKs. Any idea how to get Openlayers to work with MapQuest again, or should we be thinking of a different alternative? Thanks.
答案 0 :(得分:4)
这就像更改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);
答案 1 :(得分: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。
答案 2 :(得分:3)
我问他们on their forum。答案是否定的,我们不能再将MapQuest磁贴用于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
答案 3 :(得分:3)
对于使用OpenLayers的底图图像,我们基本上可以使用 Bing Maps,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
答案 4 :(得分:1)
发生此问题是因为.. 直接访问没有密钥的MapQuest地图图块将于2016年7月11日结束。有关获取密钥和SDK的详细信息。
确认您可以访问以下网址
https://lists.openstreetmap.org/pipermail/talk/2016-June/076106.html
答案 5 :(得分:0)
At the moment, I temporarily switched to Bings map as a workaround. Yes, it also requires an api key, but at least it is working with OL3.
答案 6 :(得分:0)
随着这个问题越来越受到任何感兴趣的恐慌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);
答案 7 :(得分:-3)
我切换到ESRI底图,它工作正常。
确保您引用了传单:
您还可以使用world_Street_Map和其他ESRI底图。