Загрузка стиля базовой карты mapbox GL JS в Openlayers 3

Я пытаюсь добавить настраиваемую базовую карту GL JS mapbox (стилизованную коллегой) в существующий код Openlayers 3, который я написал, хотя у меня возникают проблемы с поиском решения, чтобы оба из них работали вместе. До сих пор я без проблем добавлял слои, как в примере ниже:

      new ol.layer.Tile({
        title: 'Satellite',
        type: 'base',
        visible: false,
        source: new ol.source.XYZ({ //Mapbox layer with API Key
          url: 'https://api.mapbox.com/styles/v1/mapbox/satellite-v9/tiles/256/{z}/{x}/{y}?access_token=API-KEY-HERE'
        })
      })

Однако когда я хочу добавить подобный индивидуальный стиль Mapbox GL JS, это не сработает.

new ol.layer.Tile({
            title: 'CustomStyleMapboxGL',
            type: 'base',
            source: new ol.source.XYZ({
              url: 'https://api.mapbox.com/styles/v1/itatters/cjo09902ya4z92speha95h57d.html?fresh=true&title=true&access_token=API-KEY-HERE#16.0/45.505643/-73.576557/305'
            })
          })
})

Если есть какие-либо способы заставить слой в стиле Mapbox GL JS работать с Openlayers 3 (так же, как я пытался в примере 2, либо иным образом), это будет очень признательно! Я пробовал использовать API Mapbox для всего кода, но столкнулся с трудностями ....

любое решение на данный момент

Khurshid Ansari 14.03.2021 19:04
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
489
1

Ответы 1

OpenLayers не может анализировать объекты стиля Mapbox из коробки, но библиотека ol-mapbox-style добавляет для этого поддержку. Использовать его довольно просто:

import createMap from 'ol-mapbox-style';

createMap('map', 'https://api.mapbox.com/styles/v1/itatters/cjo09902ya4z92speha95h57d.html?fresh=true&title=true&access_token=API-KEY-HERE#16.0/45.505643/-73.576557/305')
.then(function(map) {
  // map is an ol/Map instance with the layers from the Mapbox style object
});

Другие вопросы по теме