2014-05-24 46 views
1

我正在尋找獲取leafletR軟件包的基本示例以在瀏覽器中顯示地圖的指導。使用最基本的示例,地圖不會顯示在瀏覽器中。我檢查了.html和.json文件,這些文件存在且顯示格式正確。 JavaScript的檢查顯示了這個錯誤:LeafletR地圖不在瀏覽器中顯示

XMLHttpRequest cannot load file:///var/folders/_0/tdgf_k7x77qdn64_gk9ynljm0000gp/T/Rtmp6O4QZM/Fiji_Earthquakes/quakes.geojson. Received an invalid response. Origin 'null' is therefore not allowed access. 

我在Mac:OSX 10.7.5 RStudio版本:0.98.857

代碼

library(leafletR) 


data(quakes) 

# store data in GeoJSON file (just a subset here) 
q.dat <- toGeoJSON(data=quakes[1:99,], dest=tempdir(), name="quakes") 

# make style based on quake magnitude 
q.style <- styleGrad(prop="mag", breaks=seq(4, 6.5, by=0.5),  style.val=rev(heat.colors(5)), leg="Richter Magnitude", fill.alpha=0.7, rad=8) 

# create map 
q.map <- leaflet(data=q.dat, dest=tempdir(), title="Fiji Earthquakes", base.map="osm", style=q.style, popup="mag") 

# view map in browser 
browseURL(q.map) 

預先感謝您的任何意見。

+0

您將需要打開本地網絡服務器來查看html,因爲它正在請求獲取json。 – Ramnath

+0

我打開了一個本地web服務器並獲得了本地主機的工作,但仍無法生成該地圖。 – glynnsc

回答

0

使用本地Web服務器打開地圖的快速解決方案是利用RStudio的HTML查看器。

rstudio::viewer(qmap) 
+0

這工作,謝謝。儘管我仍然需要弄清楚如何在我創建的shinyApp中生成地圖。 – glynnsc

+0

@glynnsc你厭倦了在代碼中使用'getwd()'而不是'tempdir()'嗎? –

0

訣竅是在傳單功能中包含incl.data=TRUE。例如,

map<-leaflet(data=leafdat, dest=downloaddir, style=sty, 
      title="index", base.map="osm", 
      incl.data=TRUE, popup=popup) 

檢出this顯示如何詳細執行此操作的信息。