相关疑难解决方法(0)

自定义图例/图像作为传单地图中的图例

我用自定义图标作为标记构建了一个地图.你可以在我的jsfiddle中看到代码和结果:https://jsfiddle.net/marielouisejournocode/x24stb0m/

我试图改变"普通"​​传奇代码将图片放在那里,但我是js和传单的新手,并不能真正解决这个问题.

var legend = L.control({position: 'bottomright'});

legend.onAdd = function (map) {

var div = L.DomUtil.create('div', 'info legend'),
    grades = [1795, 1945, 1960, 1980, 2000],
    labels = [];

for (var i = 0; i < grades.length; i++) {
    div.innerHTML +=
        '<i style="background:' + getColor(grades[i] + 1) + '"></i> ' +
        grades[i] + (grades[i + 1] ? '&ndash;' + grades[i + 1] + '<br>' : '+');
 }

 return div;
 };

 legend.addTo(map);
Run Code Online (Sandbox Code Playgroud)

我现在要做的是插入一个图例来解释这个例子中的图标: 在此输入图像描述

我会使用photoshop来创建它,但是如何在地图传播时如何使用不会表现得奇怪的图像覆盖地图但是在传单中表现得像普通的传奇?

非常感谢,玛丽

javascript leaflet

7
推荐指数
1
解决办法
8290
查看次数

带图标的addAwesomeMarkers函数的传单图例

有什么方法可以使用正确的颜色和图标为addAwesomeMarkers函数创建传单图例。例如,在下面的地图中,我想创建代码下给出的图例。

library(leaflet)

IconSet <- awesomeIconList(
  ship   = makeAwesomeIcon(icon= 'ship', markerColor = 'green', iconColor = 'white', library = "fa"),
  pirate = makeAwesomeIcon(icon= 'fire', markerColor = 'blue', iconColor = 'white', library = "fa")
)

# Some fake data
df <- sp::SpatialPointsDataFrame(
  cbind(
    (runif(20) - .5) * 10 - 90.620130,  # lng
    (runif(20) - .5) * 3.8 + 25.638077  # lat
  ),
  data.frame(type = factor(
    ifelse(runif(20) > 0.75, "pirate", "ship"),
    c("ship", "pirate")
  ))
)

leaflet(df) %>% addTiles() %>%
  # Select from oceanIcons based …
Run Code Online (Sandbox Code Playgroud)

r leaflet shiny

5
推荐指数
1
解决办法
2389
查看次数

R中的传单图例基于颜色和形状

我在传单图上有图标,根据我的数据框中的一些变量,它们具有不同的颜色和形状.我想在绘图中包含一个图例,显示每个形状和颜色组合代表什么.我该怎么办?

用虚拟数据演示:

 library(leaflet)

 lat1= 36+runif(n=5,min=-1,max=1)

 lon1 =-115+runif(n=5,min=-1,max=1)

lat2= 35+runif(n=5,min=-0.5,max=0.5)
lon2 =-110+runif(n=5,min=-0.5,max=0.5)

lat3= 34+runif(n=5,min=-0.5,max=0.5)
lon3 =-112+runif(n=5,min=-0.5,max=0.5)
data_all=rbind(data.frame(Longitude=lon1,Latitude=lat1,Group=sample(c(16,17,18),5,replace = TRUE),condition=sample(c("red","blue","green"),5,replace = TRUE),stringsAsFactors = FALSE),
           data.frame(Longitude=lon2,Latitude=lat1,Group=sample(c(16,17,18),5,replace = TRUE),condition=sample(c("red","blue","green"),5,replace = TRUE),stringsAsFactors = FALSE),
           data.frame(Longitude=lon3,Latitude=lat1,Group=sample(c(16,17,18),5,replace = TRUE),condition=sample(c("red","blue","green"),5,replace = TRUE),stringsAsFactors = FALSE))

# A function to create png images for each shape and color 
pchIcons = function(pch = 1, width = 30, height = 30, bg = "transparent", col = NULL, ...) {
  n = length(pch)
  files = character(n)
  # create a sequence of png images …
Run Code Online (Sandbox Code Playgroud)

r leaflet

3
推荐指数
1
解决办法
1302
查看次数

R传单情节船方向

我有关于船只/船只的位置以及它们所转向的路线的信息。我想将它们绘制在带有看起来像船的自定义图标的传单地图上。我发现"tags"图标 fromglyphicons是最合适的。这里有一些数据可以玩:

dput(head(x))
structure(list(boatName = c("Conti Benguela", "Sunny Bay", "Sunny Horizon", 
"FMT URLA", "Qi Xiang 22", "STI Solidarity"), lat = c(37.115365, 
38.4772017, 14.632, 56.80515, 51.31172, -2.2783283), lon = c(15.2682183, 
-8.7888783, -79.5806667, 7.601885, -143.5678933, 46.6328383), 
    cog = c("16", "331", "182", "21", "288", "72")), row.names = c(NA, 
6L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)

cog指示地面上的路线,图标转换为旋转角度。我正在使用以下代码当前绘制船只的位置和根据船只转向的路线旋转:

shipIcon <- makeAwesomeIcon("tag",iconRotate = x$cog)
leaflet() %>% addTiles() %>% 
  addAwesomeMarkers(lng=x$lon,lat=x$lat,icon=shipIcon,popup = x$boatName)
Run Code Online (Sandbox Code Playgroud)

但是,如您所见,makeAwesomeIcon为我不想要的图标添加了一个背景标记。我已经看过thisthis,后者正是我想要做的。我怎样才能完成我的任务,即根据它在没有标记背景的情况下转向的路线显示带有旋转的自定义船舶图标?

r leaflet htmlwidgets htmltools

3
推荐指数
1
解决办法
1764
查看次数

标签 统计

leaflet ×4

r ×3

htmltools ×1

htmlwidgets ×1

javascript ×1

shiny ×1