今日の2016-07-11の時点で、MapQuestはタイルへの直接アクセスを廃止しました。それらはLeaflet、iOS、およびAndroid SDKのみをサポートしているようです。OpenlayersをMapQuestで再び動作させる方法、または別の代替案を検討する必要がありますか?ありがとう。
OpenLayersを使用したベースマップ画像の場合、基本的にはBing Maps、Mapbox、DigitalGlobeです。 3つのサービスはすべてAPIキーを必要とし、3つすべてが無料枠を提供します。
私は現在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
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);
私は彼らに尋ねました 彼らのフォーラムで 。答えは「いいえ」です。MapQuestが提供するもの以外のSDKでMapQuestタイルを使用することはできません。
また、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
OSMソースを使用します。
var osmLayer = new ol.layer.Tile({
source: new ol.source.OSM()
});
これの代わりに:
new ol.layer.Tile({
source: new ol.source.MapQuest({ layer: 'osm' })
});
OL3で正常に動作します。
この問題が発生するのは、..キーのないMapQuestマップタイルへの直接アクセスが2016年7月11日に終了するためです。キーとSDKの取得の詳細。
確認のため、次のURLにアクセスしてください
https://lists.openstreetmap.org/pipermail/talk/2016-June/076106.html
この質問は、パニックに陥っているLeafletのユーザーに人気が出たため、簡単な解決策です。
リーフレットを介して直接マップレイヤーを作成する代わりに、DownloadAndInclude(キーを忘れないでください)MapQuest Leaflet Plugin。
<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);
現時点では、回避策として一時的にBingsマップに切り替えました。はい、APIキーも必要ですが、少なくともOL3で動作しています。