javascript - 自动打开 Google map 和街景

标签 javascript r google-maps shiny googleway

我想知道 R Shiny 是否有比我更好的人可以告诉我以下内容是否可行(可能不可行,但我想知道是否可行)。

问题:我可以在 Shiny 中同时打开 Google map 和交互式街景吗?

为什么我要这样做:

我有一个来自 googleway 包 Shiny 集成的编程谷歌地图。如下所示(代码在底部): enter image description here

在我 Shiny 的应用程序中,我可以从 Angular 落的图标中单击并拖动街景人物:

enter image description here

街景结果: enter image description here

我想通过操作按钮或选项卡单击直接跳转到此街景 View ,而不是让用户进行拖放过程,这样我就可以将 map 放在一个 Shiny 的选项卡中并直接进入另一个选项卡中的交互式街景,或者更好的是并排显示 map 和街景(链接在这里:https://developers.google.com/maps/documentation/javascript/examples/streetview-simple)。

有办法做到这一点吗?

我也在研究 googleway 包,看看是否还有其他方法,但据我所知,我可以进入交互式全景图,但不能直接进入街景。我还在研究使用 Shiny 的 html 集成直接进入街景服务的可能性。

代码(简化,但经过测试):

library(googleway)
library(shiny)

gpscoordlat <- 39.647806
gpscoordlon <- -104.940230
markerpointsplace <- data.frame(
  lat=c(gpscoordlat),
  lon=c(gpscoordlon)
)

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


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

 ###Use Your API key here###
  api_key <- "GoogleAPIKeyHere"


  output$map <- renderGoogle_map({
    google_map(location=c(gpscoordlat, gpscoordlon), key= api_key, zoom=15) %>%
      add_markers(data=markerpointsplace , update_map_view= FALSE)

  })
}
shinyApp(ui, server)

最佳答案

注意

此功能目前正在开发中。进度可追踪directly on github ,但我会尽力更新这篇文章。

您可以使用安装开发版本

devtools::install_github("SymbolixAU/googleway")

示例

下面是两张 map 的示例,它们都由同一个街景“街景小人”控制。

请注意两个 UI 输出,即标准 map 输出和另一个我称为 pano 的输出。然后,此 pano 将在 google_map()

split_view 参数中使用
library(shiny)
library(shinydashboard)
library(googleway)

ui <- dashboardPage(

  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody(
    box(width = 6,
      google_mapOutput(outputId = "map")
    ),
    box(width = 6,
        google_mapOutput(outputId = "pano")
    )
  )
)

server <- function(input, output) {
  set_key("map_api_key")

  output$map <- renderGoogle_map({
    google_map(location = c(-37.817386, 144.967463), 
             zoom = 12, 
             split_view = "pano")
  })
}

shinyApp(ui, server)

enter image description here

注释

  • 如果您的初始位置未直接位于有效的“街景”位置,则街景页面将为空白

关于javascript - 自动打开 Google map 和街景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48898469/

相关文章:

javascript - 使用 JavaScript 从多维数组创建 HTML

Javascript 如何拆分 JSON 数组,找到数字中的最大值,然后获取与其对应的名称?

javascript - 有没有办法在长时间运行的 JavaScript 操作之前强制回流?

r - 用于下载所有数据或仅可见数据的按钮扩展

java - Android PlaceAutocompleteFragment自动关闭

json - Play Framework : Request_denied when getting json from googlemap url

javascript - 如何使用 javascript 组合数组

r - 一种在knitr中复制 block 的方法?

javascript - 如何通过 Java Script API 在 Web 应用程序中获取 Google map 方向(路线)共享功能

r - 错误 : String must be an atomic vector R