drawPolylineOptions
函數不允許設置選項feet=FALSE
。
因此,我建議修改drawPolylineOptions
如下:
library(leaflet)
library(leaflet.extras)
mydrawPolylineOptions <- function (allowIntersection = TRUE,
drawError = list(color = "#b00b00", timeout = 2500),
guidelineDistance = 20, metric = TRUE, feet = FALSE, zIndexOffset = 2000,
shapeOptions = drawShapeOptions(fill = FALSE), repeatMode = FALSE) {
leaflet::filterNULL(list(allowIntersection = allowIntersection,
drawError = drawError, guidelineDistance = guidelineDistance,
metric = metric, feet = feet, zIndexOffset = zIndexOffset,
shapeOptions = shapeOptions, repeatMode = repeatMode)) }
leaflet() %>% setView(10.975342,45.421588,9) %>%
addTiles() %>%
addProviderTiles(providers$OpenStreetMap.Mapnik) %>%
addDrawToolbar(
polylineOptions = mydrawPolylineOptions(metric=TRUE, feet=FALSE),
editOptions=editToolbarOptions(selectedPathOptions=selectedPathOptions())
)
否則,使用addMeasures
您可以添加到您的地圖測量距離的有用工具(見圖標的右上角地圖)。
可以通過primaryLengthUnit
選項指定用於顯示長度結果的單位。
leaflet() %>% setView(10.975342,45.421588,9) %>%
addTiles() %>%
addProviderTiles(providers$CartoDB.Positron) %>%
addDrawToolbar(
editOptions=editToolbarOptions(selectedPathOptions=selectedPathOptions())
) %>%
addMeasure(primaryLengthUnit="kilometers", secondaryLengthUnit="kilometers")
謝謝你,馬可,這正是我一直在尋找! – IVR
作爲後續工作,您是否知道是否有一種簡單的方法可以讓addDrawToolbar()函數的「繪製圓」功能也以km爲單位顯示半徑?非常感謝:) – IVR
@IVR這是一個有趣的問題。請發佈SO社區的新問題! –