Мне интересно, может ли кто-то лучше, чем я в R Shiny, сказать мне, возможно ли следующее (может быть, нет, но я хотел бы знать, если нет).
Вопрос: Могу ли я открыть как карту Google, так и интерактивное уличное представление в Shiny?
Почему я хочу это сделать:
У меня есть запрограммированная карта google, исходящая из интегрированной системы googleway. Он выглядит ниже (код внизу):
В моем блестящем приложении я могу щелкнуть и перетащить парня в стиле streetview из значка в углу:
Результат в просмотре улиц:
Я хотел бы перейти прямо в это уличное представление на кнопку действия или щелчок на вкладке вместо того, чтобы сделать процесс перетаскивания пользователем, чтобы я мог иметь карту на одной блестящей вкладке и непосредственно в интерактивном просмотре улиц на другой вкладке, или еще лучше иметь карту и уличное обозрение бок о бок, как в (ссылка здесь: https://developers.google.com/maps/documentation/javascript/examples/streetview-simple).
Есть ли способ сделать это?
Я также просматриваю пакет googleway, чтобы узнать, есть ли другой способ, но насколько я могу судить, я могу сразу перейти в интерактивную панораму, но не смотреть на улицу. Я также изучаю возможность использования интеграции 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)
Эта функциональность в настоящее время разрабатывается. Прогресс можно отслеживать непосредственно на github, но я постараюсь обновить этот пост по мере продвижения.
Вы можете установить версию разработки, используя
devtools::install_github("SymbolixAU/googleway")
Вот пример двух карт, которые контролируются одним и тем же уличным представлением "пегман".
Обратите внимание на два выхода пользовательского интерфейса, стандартный вывод 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)