看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式除錯 [軟體熟悉度]: 使用者(已經有用R 做過不少作品) [問題敘述]: 這個程式是使用Leaflet套件繪製地圖 並用leafletProxy方式配合addMarkers加上資料點位 程式在本機跟伺服器的R Studio都可以正常繪出資料點 但如果從網頁端連至該網頁,可以正常顯示地圖,但leafletProxy內的指令卻沒有讀到 導致資料點位無法顯示出來 瀏覽器的console訊息表示找不到地圖ID (Couldn't find map with id mainmap) 但我確定leafletProxy指定的地圖ID是正確,不知是哪邊出了問題 麻煩先進們指點,謝謝! [程式範例]: #### ui.r #### library(shiny) library(shinydashboard) library(leaflet) sidebar = div( sidebarMenu( menuItem("主頁", tabName = "Main", icon = icon("desktop")) )) body = div( tabItems( tabItem(tabName = "Main", fluidRow(column(width = 12, leafletOutput("mainmap", height = "900px") ))))) header = dashboardHeader(title = "TEST") body = dashboardPage(header, dashboardSidebar(sidebar), dashboardBody(body)) #### server.r #### shinyServer(function(input, output) { output$mainmap = renderLeaflet({ map = leaflet() %>% setView(121, 23.5, 7) %>% addTiles() return(map) }) observe({ leafletProxy("mainmap") %>% addMarkers(lng = 120, lat = 25) }) }) ## 實際程序是讀入一個dataframe畫圖,但測試發現連單純點位都無法顯示 [環境敘述]: (伺服器R-studio) R version 3.2.2 (2015-08-14) Platform: x86_64-redhat-linux-gnu (64-bit) Running under: Amazon Linux AMI 2016.03 [關鍵字]: shiny-server, leaflet -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.69.237 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1488358163.A.DCC.html
cywhale: code cannot run:Error in tagAssert: Expected tag.. 03/02 01:25
cywhale: 初步看leafletProxy部分應該是可以..但不能run也沒法繼續 03/02 01:27
cywhale: 另外你有用到library應該要貼雖然我知道shinydashboard 03/02 01:28
不好意思 程式碼已經修正 主要的疑問在於從本機或server的R-studio採Run App都可以正常跑 但上傳到shiny-server後 如果從瀏覽器輸入網址連到該APP 就會有leafletProxy()內的指令讀不到的情況 ※ 編輯: tytony (118.163.69.237), 03/02/2017 09:02:41
cywhale: 在ubuntu run your code ok不會有錯..單看code也覺沒問題 03/02 12:16
tytony: 感謝C大,那我再試看看 不然就只能換方式來寫了 03/02 14:00
tytony: 找到問題了 server端的Leaflet版本太舊 更新後就正常了 03/02 16:14