Пользовательский стиль Mapbox не отображается

Я пытаюсь использовать собственный стиль Mapbox в качестве базовой карты с R и пакетом Mapdeck, как показано на сайте Mapdeck, но не могу заставить его работать. Мои слои данных отображаются, но карта не отображается ни в средстве просмотра R Studio, ни в окне браузера. У меня есть токен Mapbox, и мой код работает, когда я использую один из стандартных шаблонов стиля Mapbox. Я что-то упускаю из виду?

Вот код, который я использую (на Mac в R Studio личные данные заменены на {}):

library(mapdeck)

# load csv data ----------
# {my_data}

# load Mapbox token ----------
key <- "{my_token}"

# mapdeck process to plot the data ----------
mapdeck(token = key, style = "mapbox://styles/{my_user_name}/{my_styleID}", pitch = 70) %>% 
  add_arc(
    data = sites
    , layer_id = "arc_layer"
    , origin = c("site_lon", "site_lat")
    , destination = c("lab_lon", "lab_lat")
    , stroke_from = "site"
    , stroke_to = "lab"
  ) %>%
  add_scatterplot(
    data = labs_active
    , layer_id = "scatter"
    , lon = "lon"
    , lat = "lat"
    , radius = 120
    , fill_colour = "status"
  )

Я пробовал разные браузеры, но ни один из них не изменил ситуацию.

Вот некоторые сообщения консоли браузера, которые я получаю (в Safari):

  • Ошибка: Layers[39].filter[3][1][0]: Неизвестное выражение «шаг». Если вам нужен буквальный массив, используйте ["literal", [...]].
  • сообщение: «неопределенное не является объектом (оценка 'r.familiesBySource[this.source]')»
  • конструктор: функция()
  • _classRegistryKey: «Ошибка»
  • аргументы: TypeError: «аргументы», «вызываемый» и «вызывающий» недоступны в этом контексте.
  • вызывающий: TypeError: «аргументы», «вызываемый» и «вызывающий» недоступны в этом контексте
  • [Предупреждение] WebGL: включено непереносимое расширение: WEBGL_polygon_mode

Будет ли это работать, если вы используете один из предоставленных стилей: mapdeck(style = mapdeck_style('dark')) ?

tospig 06.07.2024 05:53

@tospig Да, предоставленные стили работают.

user47014 06.07.2024 16:28

так проблема конкретно в этой строке: mapdeck(token = key, style = "mapbox://styles/{my_user_name}/{my_styleID}") ? Можете ли вы опубликовать свой стиль и разместить здесь полный URL-адрес?

tospig 07.07.2024 03:36

@tospig Да, я думаю, проблема в этой строке. Может быть, это проблема с Mapbox или Deckgl? Означают ли что-нибудь консольные сообщения, которые я получаю? На данный момент я надеялся не обнародовать свой стиль.

user47014 10.07.2024 15:56

Я не признаю этих ошибок. Если вы удалите вызовы add_(), вы все равно получите эти ошибки? Есть ли другой публичный стиль, который вы можете использовать, чтобы проверить это?

tospig 10.07.2024 21:53

@tospig Спасибо, я попробовал кучу разных вещей: другой публичный стиль работал, но мой все равно не работал, даже если я сделал свой публичным. У меня все еще возникают ошибки после удаления вызовов add(). Я изменил различные настройки стиля Mapbox и источники данных, но это не принесло никакой пользы. Наконец, что сработало, так это создание моего собственного стиля карты Mapbox полностью с нуля. Моя первая попытка, которая не сработала, представляла собой стиль, основанный на одном из «классических шаблонов» Mapbox (монохромный), в котором я настроил цвета. Отмечу это как ответ на мой первоначальный пост.

user47014 11.07.2024 22:37
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
6
63
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Что сработало, так это создание моего собственного стиля карты Mapbox полностью с нуля, а затем замена ссылки старого стиля на ссылку нового стиля:

mapdeck(token = key, style = "mapbox://styles/{my_user_name}/{my_NEW_styleID}")

Мой первоначальный стиль Mapbox был основан на одном из встроенных шаблонов стилей Mapbox (см. мои ответы @tospig в комментариях). Я до сих пор не уверен, почему это не сработало.

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