2016-07-11 7 views
13

Ab heute 2016-07-11 hat MapQuest den direkten Zugriff auf ihre Kacheln eingestellt. Sie scheinen nur Leaflet, iOS und Android SDKs zu unterstützen. Irgendeine Idee, wie man Openlayers wieder mit MapQuest arbeiten lässt, oder sollten wir an eine andere Alternative denken? Vielen Dank.mapquest direct tile access eingestellt

+1

ich auf die gleiche Art und Weise bin ... – Dani

+2

Erhielten jemand eine Benachrichtigung, bevor der Dienst heruntergefahren ??? Ich habe keine Worte darüber, wie man diesen Akt der Professionalität beschreibt –

+1

@AnestisKivranoglou Ich bin wie du ... plötzlich stoppte die Karte in meiner App, um den Kunden die Karte zu zeigen ... War wirklich schmachvoll. – Dani

Antwort

4

Für Grundkartenbilder mit OpenLayers sind wir im Grunde genommen auf Bing Maps, Mapbox und DigitalGlobe. Alle drei Dienste benötigen einen API-Schlüssel, und alle drei bieten eine kostenlose Tier.

Ich verwende derzeit DigitalGlobe und war sehr zufrieden mit deren Auflösung und Abdeckung bisher. Um es in OpenLayers zu verwenden, melden Sie sich zuerst an ihrer Site für einen API-Schlüssel an.

http://mapsapidocs.digitalglobe.com/

Dann benutzen Sie einfach die folgende Fliese Quelle (erinnern YOUR_ACCESS_TOKEN ersetzen):

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' 
    }) 
}) 

Dies Sie ihre globale Satellitenbilder mit einer Auflösung im Bereich von wenigen Metern bis zu 10 Zentimeter gibt! Sie bieten mehr Basislayer als die in diesem Beispiel, aber Dies sollte Sie schnell starten.

Weitere Beispiele Openlayers mit Digitalglobe, finden Sie unter diesem Link:

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

0

Im Moment wechselte ich vorübergehend zur Bings-Karte als Workaround. Ja, es erfordert auch einen API-Schlüssel, aber zumindest funktioniert es mit OL3.

0

Da diese Frage für interessierte Flugblatt-Benutzer in Panik geraten ist, ist dies eine schnelle Lösung.

Statt Ihre Karte Ebene durch Broschüre direkt jetzt schaffen müssen Sie herunterladen Und Fügen(Dont Ihren Schlüssel vergessen) den MapQuest Prospekt Plugin.

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

Dann Sie Ihre Karte Ebene mit dem MapQuest Plugin erstellen

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

+0

Hinweise, wie Sie die aktualisierte mapquest-API am besten mit der [LeafletJS users map] (http://users.leafletjs.com/) implementieren können? Ich habe versucht, das Skript in Ihrer Antwort (mit meinem eigenen Schlüssel) hinzuzufügen, aber nicht viel Glück. –

+0

Wir haben einfach ihre grundlegende Kartendokumentation befolgt. https://developer.mapquest.com/documentation/leaflet-plugins/maps –

+0

Ich endete mit einer modifizierten Version von [eine andere Antwort] (http://stackoverflow.com/questions/38315300/mapquest-direct-tile- Access-Discontinued/38324489? Noredirect = 1 # Kommentar65038325_38375848). –

4

Verwenden Sie die OSM Quelle:

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

statt dessen:

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

funktioniert gut mit OL3.

2

Ich fragte sie on their forum. Die Antwort lautet Nein. Wir können MapQuest-Kacheln nicht mehr mit anderen SDKs als den von MapQuest bereitgestellten verwenden.

Auch mit MapQuest SDKs ist das Caching/Speichern von Daten auch mit einem kostenpflichtigen Konto verboten.

Die einzige andere Option (die ich kenne), wenn Sie eine kostenlose, unbegrenzte, weltweite Karte benötigen, ist Open Street Map. Keine Satellitenbilder, MapQuest war leider der einzige (den ich kenne).

Wenn Sie bereit sind zu zahlen, sollten Sie MapBox verwenden können.

EDIT: eine andere frische neue Ich habe per E-Mail von MapQuest Team:

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

Es ist so einfach wie Ihr tileUrl ändern.

diese ersetzen:

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

mit diesem:

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

dann wie zuvor verwenden:

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

Ich konnte 'tileUrl = 'http: // {s} .tile.openstreetmap.org/{z}/{x}/{y} .png'' nicht zum Laufen bringen. Ich konnte das zum Laufen bringen, wenn ich 'tileUrl = 'http://tile.openstreetmap.org/ {z}/{x}/{y} .png'' benutzte –

+0

Verwenden von' https: //tile.openstreetmap .org/1/1/1.png gibt [Sicherheitszertifikat] (http://imgur.com/a/JDjyn) Fehler zurück. –

-3

ich ESRI basemap geschaltet, es funktioniert gut.

Vergewissern Sie verwiesen haben Prospekt: ​​

enter image description here

Sie auch world_Street_Map und andere ESRI-Grundkarten verwenden können.

+1

Verwenden Sie keine Bilder für Codebeispiele. So funktioniert Stack Exchange nicht. –