Как я могу добавить местное изображение на карту в листовке? - PullRequest
1 голос
/ 25 марта 2019

Я хочу поместить локальное изображение на карту листовки в R следующим образом (я нарисовал изображение вручную в краске):

enter image description here Я пробовал это на основе примера в ?mapview::addLogo:

library(mapview)
library(leaflet)

cities <- read.csv(textConnection("
    City,Lat,Long,Pop
                                      Boston,42.3601,-71.0589,645966
                                      Hartford,41.7627,-72.6743,125017
                                      New York City,40.7127,-74.0059,8406000
                                      Philadelphia,39.9500,-75.1667,1553000
                                      Pittsburgh,40.4397,-79.9764,305841
                                      Providence,41.8236,-71.4222,177994
                                      "))

img1 <- system.file("img1.png", package = "png")

leaflet(cities) %>%
    addTiles() %>%
    addCircles(lng = ~Long, lat = ~Lat, weight = 1,
               radius = ~sqrt(Pop) * 30, popup = ~City)%>%
    addLogo(img1, src = "local", position = "bottomright", alpha = 0.3)

но оно не добавило изображение на карту:

enter image description here

1 Ответ

0 голосов
/ 27 марта 2019

Вы сбиты с толку (и по уважительной причине, это пример сбивающей с толку помощи) примером из справки для ?addLogo.Все, что нужно addLogo - это путь к изображению.Вызов system.file, использованный в этом примере справки, просто возвращает путь к образцу изображения, включенному в пакет png, который использовался в качестве примера.Если вы уже знаете путь к своему изображению, вы можете просто указать его.

Поэтому, предполагая, что ваше изображение имеет имя img1.png и находится в текущем рабочем каталоге, вы можете просто сделать это:

leaflet(cities) %>%
    addTiles() %>%
    addCircles(lng = ~Long, lat = ~Lat, weight = 1,
               radius = ~sqrt(Pop) * 30, popup = ~City)%>%
    addLogo("img1.png", src = "local",position = "bottomright", alpha = 0.3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...