Как использовать set_token в mapdeck? - PullRequest
1 голос
/ 19 июня 2019

Я пытаюсь воспроизвести этот пример: https://github.com/SymbolixAU/mapdeck, с использованием пакета mapdeck r.

Я зарегистрировался на сайте mapbox и создал свой токен.Всякий раз, когда я запускаю свой скрипт, нет ошибки, но нет и карты.

library(mapdeck)
library(leaflet)

key <- set_token("pk.eyJ1IjoicmFxdWVsc2FyYWl2YTE5ODgiLCJhIjoiY2p4MzM2eHh5MG95aTN5cDQxdjVocDlxMCJ9.Wskus8QqYwjAufGpW71OVg")

df <- readRDS("df.rds")

df$Station_Long = as.numeric(as.character(df$lon_Pay))
df$Station_Lat = as.numeric(as.character(df$lat_Pay))
df$id = as.factor(as.numeric(as.factor(df$ID)))

mapdeck(
  token = key,
  style = mapdeck_style('dark')
  , location = c(104, 1)
  , zoom = 8
  , pitch = 45
) %>%
  add_arc(
    data = df
    , origin = c("centroid_lon", "centroid_lat")
    , destination = c("lon_Pay", "lat_Pay")
    , layer_id = 'arclayer'
    , stroke_width = 3
    , stroke_from = "#ccffff"
    , stroke_to = "#ccffff"
  )

Мой ключ НЕДЕЙСТВИТЕЛЕН (пуст).

Кто-нибудь знает, почему это происходит?

1 Ответ

0 голосов
/ 20 июня 2019

Если вы используете set_token(), вы не назначаете ее переменной, вы просто вызываете ее.

library(mapdeck)

set_token( "YOUR_MAPOBX_TOKEN" )

Затем он сохраняется глобально в вашем сеансе

## view your token
mapdeck_tokens()

# Mapdeck tokens
# -  mapbox : YOUR_MAPBOX_TOKEN

Использование set_token() означает, что вам не нужно указывать аргумент token в вызове mapdeck()

url <- 'https://raw.githubusercontent.com/plotly/datasets/master/2011_february_aa_flight_paths.csv'
flights <- read.csv(url)
flights$id <- seq_len(nrow(flights))
flights$stroke <- sample(1:3, size = nrow(flights), replace = T)
flights$info <- paste0("<b>",flights$airport1, " - ", flights$airport2, "</b>")

mapdeck( style = mapdeck_style("dark"), pitch = 45 ) %>%
  add_arc(
    data = flights
    , layer_id = "arc_layer"
    , origin = c("start_lon", "start_lat")
    , destination = c("end_lon", "end_lat")
    , stroke_from = "airport1"
    , stroke_to = "airport2"
    , stroke_width = "stroke"
    , tooltip = "info"
    , auto_highlight = TRUE
    , legend = T
    , legend_options = list(
      stroke_from = list( title = "Origin airport" ),
      css = "max-height: 100px;")
   )

enter image description here

...