Листовка 2.0.0 не отображается (ошибка dashArray) - PullRequest
0 голосов
/ 30 апреля 2018

Я использую пакеты leaflet и shiny для создания интерактивных карт в веб-браузере (Chrome). При обновлении leaflet с версии 1.1.0 до версии 2.0.0 некоторые картограммы перестали отображаться правильно: большинство, если не все полигоны, не отображались. Что делает его более странным, так это то, что R не показывает никаких ошибок или предупреждений.

Что я ожидал

Choropleth map as I expected it

Что я получил

Choropleth not showing correctly

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

Информация о сеансе

R version 3.4.3 (2017-11-30)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.3 LTS

Matrix products: default
BLAS: /usr/lib/libblas/libblas.so.3.6.0
LAPACK: /usr/lib/lapack/liblapack.so.3.6.0

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8    LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] sp_1.2-7

loaded via a namespace (and not attached):
[1] compiler_3.4.3  tools_3.4.3     grid_3.4.3      lattice_0.20-35

1 Ответ

0 голосов
/ 30 апреля 2018

Мне удалось решить эту проблему, исключив все упоминания dashArray в функции addPolygons.

В приведенном ниже коде я исключил строку dashArray = "",

leafletProxy("map") %>%
      addPolygons(
        data = sp,
        stroke = FALSE,
        fillOpacity = 0.9,
        smoothFactor = 0.5,
        color = colors,
        group = "Analysis",
        highlight = highlightOptions(
          weight = 10,
          color = "#666",
          dashArray = "",
          fillOpacity = 1,
          bringToFront = TRUE,
          stroke = FALSE
        ),
        label = label
      ) %>%
      addLegend(
        position = "bottomright",
        pal = colorPalette,
        values = colorValues,
        layerId = "legendColors",
        title = legendTitle
      )

Каким-то образом это dashArray вызывает ошибку в JavaScript (?). Во всяком случае, глядя на консоль в моем браузере, я получил следующую ошибку, которая была ключом к решению проблемы.

dashArray error

Надеюсь, это поможет другим решить эту очень загадочную ошибку!

...