A partire da oggi 2016-07-11, MapQuest ha interrotto l'accesso diretto alle proprie tessere. Sembrano supportare solo gli SDK di Leaflet, iOS e Android. Qualche idea su come far riavere gli Openlayer su MapQuest, o dovremmo pensare a un'alternativa diversa? Grazie.accesso diretto alla tile mapquest fuori produzione
risposta
Per immagini di mappe di base con OpenLayers, siamo fondamentalmente in basso a Bing Maps, Mapbox e DigitalGlobe. Tutti e tre i servizi richiedono una chiave API e tutti e tre offrono un livello gratuito.
Attualmente sto utilizzando DigitalGlobe e sono stato molto contento della risoluzione fino ad ora. Per usarlo in OpenLayers, prima registrati per una chiave API sul loro sito.
http://mapsapidocs.digitalglobe.com/
poi basta usare la seguente fonte di piastrelle (non dimenticatevi di 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'
})
})
Questo ti dà loro immagini satellitari globale con risoluzioni che vanno da pochi metri fino a 10 centimetri! Offrono più livelli di base di quello che ho fornito in questo esempio, ma questo dovrebbe iniziare rapidamente.
Per ulteriori OpenLayers esempi con DigitalGlobe, vedi questo link:
http://mapsapidocs.digitalglobe.com/docs/maps-api-openlayers
Al momento, sono passato temporaneamente alla mappa di Bings come soluzione alternativa. Sì, richiede anche una chiave API, ma almeno funziona con OL3.
Poiché questa domanda ha guadagnato popolarità per qualsiasi utente interessato in panico, questa è una soluzione rapida.
Invece di creare i livelli della mappa attraverso Volantino direttamente Ora è necessario Scarica E Includere(non dimenticare la vostra chiave) il MapQuest Volantino Plugin.
<script src="https://www.mapquestapi.com/sdk/leaflet/v2.2/mq-map.js?key=KEY"></script>
Poi si Creare la mappa di strato con il plugin 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);
Eventuali indizi sul modo migliore di implementare l'API di mapquest aggiornata con la [mappa degli utenti di LeafletJS] (http://users.leafletjs.com/)? Ho provato ad aggiungere lo script nella tua risposta (con la mia chiave), ma non ho avuto molta fortuna. –
Abbiamo appena seguito la documentazione di base della mappa. https://developer.mapquest.com/documentation/leaflet-plugins/maps –
Ho finito per utilizzare una versione modificata di [un'altra risposta] (http://stackoverflow.com/questions/38315300/mapquest-direct-tile- accesso-interrotto/38324489? noredirect = 1 # comment65038325_38375848). –
Questo problema è accaduto perché .. Accesso diretto alle piastrelle mappa MapQuest senza una chiave finirà l'11 luglio 2016. Informazioni su come ottenere chiavi e SDK.
per la conferma si può visitare seguente URL
https://lists.openstreetmap.org/pipermail/talk/2016-June/076106.html
Utilizzare la fonte OSM:
var osmLayer = new ol.layer.Tile({
source: new ol.source.OSM()
});
invece di questo:
new ol.layer.Tile({
source: new ol.source.MapQuest({ layer: 'osm' })
});
Funziona bene con OL3.
Ho chiesto loro on their forum. La risposta è no, non possiamo più usare i riquadri di MapQuest con altri SDK di quelli forniti da MapQuest.
Inoltre, anche con gli SDK di MapQuest, la memorizzazione nella cache/memorizzazione dei dati è vietata, anche con un account a pagamento.
L'unica altra opzione (che io sappia) se avete bisogno di una mappa gratuita, illimitata, in tutto il mondo, è Open Street Map. Nessuna immagine satellitare però, MapQuest era, purtroppo, l'unica (che io sappia).
Se sei pronto a pagare, dovresti essere in grado di utilizzare MapBox.
EDIT: un altro nuovo e fresco Ho appena ricevuto una e-mail dal team di 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
E 'semplice come cambiare la vostra tileUrl.
Sostituire questo:
var tileUrl = 'http://otile{s}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.png?x';
con questo:
var tileUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
Quindi utilizzare come prima:
L.tileLayer(tileUrl, { }).addTo(map);
Non ho potuto ottenere 'tileUrl = 'http: // {s} .tile.openstreetmap.org/{z}/{x}/{y} .png'' per funzionare. Sono riuscito a farlo funzionare se ho usato 'tileUrl = 'http://tile.openstreetmap.org/ {z}/{x}/{y} .png'' –
usando' https: //tile.openstreetmap .org/1/1/1.png' restituisce [certificato di sicurezza] (http://imgur.com/a/JDjyn) errori. –
sono passato a ESRI basemap, funziona benissimo.
Accertarsi di aver opuscolo riferimento:
È anche possibile utilizzare world_Street_Map e altre mappe di base ESRI.
Non utilizzare immagini per esempi di codice. Questo non è il modo in cui funziona lo Stack Exchange. –
sono sulla stesso modo ... – Dani
Qualcuno ha ricevuto alcuna notifica prima di arrestare il servizio ??? Sono fuori parole su come descrivere questo atto di professionalità –
@AnestisKivranoglou Sono come te ... improvvisamente, la mappa nella mia app si è fermata per mostrare la mappa ai clienti ... Era davvero imbarazzante. – Dani