R/Shiny/传单:捕获并记录用户';地理位置

R/Shiny/传单:捕获并记录用户';地理位置,r,shiny,leaflet,R,Shiny,Leaflet,使用Easybutton,我在一个闪亮的传单环境中创建了一个按钮,可以将地图缩放和平移到用户的地理位置。一个有效的例子: library(shiny) library(leaflet) ui <- fluidPage(leafletOutput("map")) server <- function(input, output, session) { output$map <- renderLeaflet({ leaflet() %>% addProvide

使用Easybutton,我在一个闪亮的传单环境中创建了一个按钮,可以将地图缩放和平移到用户的地理位置。一个有效的例子:

library(shiny)
library(leaflet)

ui <- fluidPage(leafletOutput("map"))


server <- function(input, output, session) {

 output$map <- renderLeaflet({
 leaflet() %>%
  addProviderTiles(providers$Stamen.TonerLite,
                   options = providerTileOptions(noWrap = TRUE)) %>%

  addEasyButton(
    easyButton(
      position = "topleft",
      icon = "fa-crosshairs",
      title = "Locate Me",
      onClick = JS(
        c(
          "function(btn,  map){map.locate({setView:true,enableHighAccuracy: true })}"
        )
      )
    )
      )
  })
}

shinyApp(ui,server)
库(闪亮)
图书馆(单张)

ui作为起点,您可以观察地图边界的变化,并返回边界的中心

library(shiny)
library(leaflet)

ui <- fluidPage(leafletOutput("map"))


server <- function(input, output, session) {

  output$map <- renderLeaflet({
    leaflet() %>%
      addProviderTiles(providers$Stamen.TonerLite,
                       options = providerTileOptions(noWrap = TRUE)) %>%

      addEasyButton(
        easyButton(
          position = "topleft",
          icon = "fa-crosshairs",
          title = "Locate Me",
          onClick = JS(
            c(
              "function(btn,  map){map.locate({setView:true,enableHighAccuracy: true })}"
            )
          )
        )
      )
  })

  observeEvent(input$map_bounds, {
    event <- input$map_bounds

    lat <- mean(event$north, event$south)
    lon <- mean(event$west, event$east)

    print(paste0("map center - lat: ", lat, ", lon: ", lon))

  })
}

shinyApp(ui,server)
库(闪亮)
图书馆(单张)

ui通过遵循这些过程并添加JavaScript逻辑,我自己找到了另一个机会


您是如何确定
输入$map\u界限的?@zacdav-我在查看