自动打开Goog​​le Map和Streetview

时间:2018-02-21 05:01:20

标签: javascript r google-maps shiny googleway

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

问题:我可以在Shiny中打开谷歌地图和互动街景吗?

为什么我要这样做:

我有一个来自googleway软件包闪亮集成的编程谷歌地图。它看起来如下(底部的代码): enter image description here

在我的闪亮应用程序中,我可以点击并拖动街角中的街景视图:

enter image description here

导致街景: enter image description here

我想在操作按钮或标签点击上直接跳到此街景,而不是让用户执行拖放过程,这样我就可以将地图放在一个闪亮的标签中直接进入另一个标签中的交互式街景视图,或者更好地将地图和街景视图并排放置(链接到这里:https://developers.google.com/maps/documentation/javascript/examples/streetview-simple)。

有办法吗?

我也在研究googleway套餐,看看是否还有另一种方式,但据我所知,我可以直接进入互动全景而不是街景。我也在研究使用flash中的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)

1 个答案:

答案 0 :(得分:4)

注意

此功能目前正在开发中。可以跟踪进度directly on github,但我将继续努力更新此帖子。

您可以使用

安装开发版本
devtools::install_github("SymbolixAU/googleway")

实施例

以下是两张地图的示例,均由同一街景&#39; pegman&#39;控制。

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

split_view参数中使用此google_map()
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

注释

  • 如果您的初始位置没有直接落在有效的街景视图上,那就是
  • 位置,街景页面将为空白