На сегодняшний день 2016-07-11 MapQuest прекратил прямой доступ к своим плиткам. Кажется, что они поддерживают только листы, iOS и Android SDK. Любая идея, как заставить Openlayers снова работать с MapQuest, или мы должны думать о другой альтернативе? Спасибо.
Прямой доступ к плитам mapquest прекращен
Ответ 1
Для изображений базовой карты с помощью 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 сантиметров! Они предлагают больше базовых уровней, чем тот, который я представил в этом примере, но это должно заставить вас начать быстро.
Дополнительные примеры OpenLayers с DigitalGlobe см. по этой ссылке:
http://mapsapidocs.digitalglobe.com/docs/maps-api-openlayers
Ответ 2
Это так же просто, как изменить ваш 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);
Ответ 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
Я спросил их на своем форуме. Ответ отрицательный, мы больше не можем использовать плитки MapQuest с любым другим SDK, чем те, которые предоставляются MapQuest.
Кроме того, даже с SDK MapQuest кэширование/хранение данных запрещено даже с платной учетной записью.
Единственный другой вариант (который я знаю), если вам нужна бесплатная, неограниченная карта по всему миру, - это Open Street Map. Хотя спутниковые снимки, MapQuest, к сожалению, были единственными (что я знаю).
Если вы готовы заплатить, вы сможете использовать MapBox.
EDIT: еще один новый новый, который я получил по электронной почте от команды 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 без ключа завершится 11 июля 2016 года. Подробная информация о получении ключей и SDK.
для подтверждения вы можете посетить следующий URL
https://lists.openstreetmap.org/pipermail/talk/2016-June/076106.html
Ответ 6
В настоящий момент я временно переключился на карту Bings в качестве обходного пути. Да, для этого также требуется ключ api, но по крайней мере он работает с OL3.
Ответ 7
Поскольку этот вопрос приобрел популярность у любого заинтересованного пользователя Panafed Leaflet, это быстрое решение.
Вместо того, чтобы создавать карту "Слои через листок" прямо сейчас, вам нужно Загрузить и Включить (не забывайте свой ключ) Плагин для плаката MapQuest.
<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);
Ответ 8
Я переключился на базовую карту ESRI, она отлично работает.
Убедитесь, что у вас есть ссылка на буклет:
Вы также можете использовать world_Street_Map и другие базовые карты ESRI.