Отказ от ответственности: разработчик mapview здесь.
Прежде всего, обратите внимание, что функции popup*()
из mapview были перемещены в более легкий пакет под названием leafpop . Хотя на CRAN, для этой проблемы нам нужна версия для разработки от github, которую можно найти здесь . - Раскомментируйте вызов remotes::install_githib()
в приведенном ниже примере, чтобы получить последнюю версию.
Были многочисленные проблемы с всплывающими функциями mapview, которые побудили меня переписать большинство из них (включая popupImage()
). Переписывание представляет новый дизайн API, который необходим, поскольку нам необходим доступ к объекту map
. Таким образом, для решения вашей проблемы, следующее должно решить вашу проблему:
# remotes::install_github("r-spatial/leafpop")
library(leaflet)
library(leafpop)
img = "/path/to/some/image.png"
# does not work properly - image is clipped in y
leaflet() %>%
addTiles() %>%
addPolygons(data = franconia[1, ], popup = popupImage(img, width = 400))
# works
leaflet() %>%
addTiles() %>%
addPolygons(data = franconia[1, ], group = "fran") %>%
addPopupImages(image = img, group = "fran", width = 400)
По сути, вы сначала создаете слой (данных) с соответствующей функцией leaflet::add*()
(в приведенном выше примере addPolygons()
), а затем регистрируете изображения как всплывающие окна, используя addPopupImges()
, отождествляя слой с аргументом group
, Это должно позволить вам установить желаемую ширину и высоту (хотя я думаю, что значение максимальной ширины составляет 2000 пикселей).