Как я могу загрузить карту конкретной страны в OpenStreetMap? - PullRequest
0 голосов
/ 28 сентября 2018

Я хочу загрузить карту конкретной страны (скажем, https://openstreetmap.in). Я использую следующий фрагмент кода, но он загружает карту из https://www.openstreetmap.org:

layers: [
    new ol.layer.Tile({
        source: new ol.source.OSM()
    })
]

Кто-нибудь может подсказать, пожалуйстаКак я могу загрузить карту конкретной страны?

1 Ответ

0 голосов
/ 01 октября 2018

Вам необходимо создать пользовательский слой листов, так называемый слой OSM или слой XYZ.Примеры OpenLayer Локализованные OpenStreetMap и XYZ объясняют, как указать пользовательский источник плиток.

URL-адрес сервера плиток для openstreetmap.in: https://{a-c}.tiles.mapbox.com/v4/openstreetmap.1b68f018/{z}/{x}/{y}@2x.png?access_token=pk.eyJ1IjoiamluYWxmb2ZsaWEiLCJhIjoiY2psejFtZG8wMWhnMjNwcGFqdTNjaGF2MCJ9.ZQVAZAw8Xtg4H2YSuG4PlA.

Ваш код должен выглядеть примерно так:

var osmIndia = new TileLayer({
  source: new OSM({
    attributions: [
      '© <a href="https://www.mapbox.com/">mapbox</a> and <a href="https://www.openstreetmap.org/">OpenStreetMap</a>'
    ],
    url: 'https://{a-c}.tiles.mapbox.com/v4/openstreetmap.1b68f018/{z}/{x}/{y}@2x.png?access_token=pk.eyJ1IjoiamluYWxmb2ZsaWEiLCJhIjoiY2psejFtZG8wMWhnMjNwcGFqdTNjaGF2MCJ9.ZQVAZAw8Xtg4H2YSuG4PlA'
  })
});

[...]

layers: [
    osmIndia
]
...