如何在Leaflet中将图片用作自定义图标?

时间:2019-09-05 22:30:16

标签: r r-leaflet

我正在尝试使用R中的传单包创建英国足球场的交互式地图。我了解我可以将自定义图像用作地图上的图标。对于给定的体育场,我想使用在那打球的俱乐部的徽章作为图标。最初,我试图解决一个简单的问题,即对所有体育场仅使用一个自定义图像,希望一旦我能解决这个问题,便能够对每个体育场进行归纳并获得一个自定义图像。为了这个问题,我将提供仅两个体育场的简化数据集。

到目前为止,我已经尝试使用伯恩茅斯徽章的这张图片(https://upload.wikimedia.org/wikipedia/en/e/e5/AFC_Bournemouth_%282013%29.svg),但是在运行时它并未出现在地图上。我认为R无法正确访问此图像,但是我不确定它可以访问哪些类型或如何访问它们。

到目前为止,我的代码看起来像这样

library(leaflet)

# Create Data
finalData <-  data.frame(Club = c("A.F.C. Bournemouth", "A.F.C. Wimbledon"), Latitude = c("50.7352","51.4051"), Longitude = c("-1.83839","-0.281984"), stringsAsFactors = FALSE)

# Create map using leaflet
m <- leaflet() %>% 
  addTiles()

# Attempt to create custom icon using the linked picture
BournemouthIcon = makeIcon("https://upload.wikimedia.org/wikipedia/en/e/e5/AFC_Bournemouth_%282013%29.svg", iconWidth = 8, iconHeight = 8)

m %>% addMarkers(lat = as.numeric(finalData$Latitude), 
                 lng = as.numeric(finalData$Longitude), 
                 clusterOptions = markerClusterOptions(), 
                 icon = BournemouthIcon)

我希望看到地图上标有伯恩茅斯徽章作为标记的2个体育场,但标记却是空白。1似乎R知道在哪里绘制点(因为如果将其缩小,它会检测到2。这归结于我对R如何读取我提供的图片的误解。非常感谢您提供有关如何正确构建自定义标记,然后将其传递给addMarkers的任何帮助。此外,将其概括为每个标记具有唯一的自定义图片的一些指导也将是很棒的!

0 个答案:

没有答案