尝试以下方法:
library(leaflet)
library(osrm)
route = osrmRoute(c(115.6813467,-32.0397559), c(150.3715249,-33.8469759), overview = 'full')
# route_simple = osrmRoute(c(115.6813467,-32.0397559), c(150.3715249,-33.8469759), overview = 'simplified')
route_summary = osrmRoute(c(115.6813467,-32.0397559), c(150.3715249,-33.8469759), overview = FALSE)
leaflet() %>% addTiles() %>%
addMarkers(c(115.6813467,150.3715249), c(-32.0397559,-33.8469759)) %>%
addPolylines(route$lon,route$lat,
label = paste(round(route_summary[1]/60), 'hr - ', round(route_summary[2]), 'km'),
labelOptions = labelOptions(noHide = TRUE))
leaflet() %>% addTiles() %>%
addMarkers(c(115.6813467,150.3715249), c(-32.0397559,-33.8469759)) %>%
addPolylines(route$lon,route$lat,
popup = paste(round(route_summary[1]/60), 'hr', br(), round(route_summary[2]), 'km'))
我在上面的代码中添加了
route_simple
,但没有使用它。它只是在路线上节省了更少的点,因此细节较少,但运行速度更快。随意玩耍。在第二个示例中,我还使用了弹出窗口而不是标签。您需要点击路线才能打开它。
如果您想要一个闪亮的应用程序,请参阅下文:
library(leaflet)
library(osrm)
route = osrmRoute(c(115.6813467,-32.0397559), c(150.3715249,-33.8469759), overview = 'full')
# route_simple = osrmRoute(c(115.6813467,-32.0397559), c(150.3715249,-33.8469759), overview = 'simplified')
route_summary = osrmRoute(c(115.6813467,-32.0397559), c(150.3715249,-33.8469759), overview = FALSE)
library(shiny)
ui <- fluidPage(
leafletOutput('map')
)
server <- function(input, output, session) {
output$map <- renderLeaflet({
leaflet() %>% addTiles() %>%
addMarkers(c(115.6813467,150.3715249), c(-32.0397559,-33.8469759)) %>%
addPolylines(route$lon,route$lat,
label = paste(round(route_summary[1]/60), 'hr - ', round(route_summary[2]), 'km'),
labelOptions = labelOptions(noHide = TRUE))
})
}
shinyApp(ui, server)