2017-03-23 6 views
1

多くの場所で収集されたデータに関するポップアップ情報がユーザーに表示されるインタラクティブマップを含むWebページを作成する必要があります。 Windows上でRstudioとリーフレットを使用し、OSMベースマップタイルを使用したいリーフレットのhtmlウィジェットにOSMタイルがない場合のトラブルシューティング方法を教えてください。

私のリーフレットマップは、Rstudioビューアで正常に動作します。しかし、Firefoxで 'knitted'ページを見ると、マップの他のコンポーネントは大丈夫ですが、OSMマップタイルは表示されません。同様に、保存されたHTMLウィジェットにはOSMタイルがありません。

私は簡単な例を示しました。

```{r} 
library(leaflet) 
library(htmlwidgets) 
rand_lng = function(n = 10) rnorm(n, 145.7, .01) 
rand_lat = function(n = 10) rnorm(n, -17, .01)  
m = leaflet() %>% 
    addTiles(group = "OSM (default)") %>% 
    addProviderTiles("Esri.WorldImagery") %>% 
    addCircleMarkers(rand_lng(5), rand_lat(5), group = "Points")%>% 
    addLayersControl(
    baseGroups = c("OSM (default)","Esri.WorldImagery"), 
    overlayGroups = c("Points"), 
    options = layersControlOptions(collapsed = FALSE)) %>% 
    setView(lng = 145.7, lat = -17, zoom = 12) 
m 
saveWidget(m, "leaflet_OSMplusEsri.html") 
``` 

This is the output I get in Rstudio viewer, with OSM tiles selected and displayed correctly. When selected, Esri tiles are correct also.

This is the html file shown in Firefox, where OSM tiles do not display despite being selected.

私はこれを解決する方法を発見することなく、すべての日に検索してきました。初心者かもしれないが、私は何か明白なものを見逃しているだろうか?

アドバイスをいただきありがとうございます。簡単な手順でこの問題のトラブルシューティングを行うにはどうすればよいですか?

答えて

2

長い時間がかかりましたが、結局これを解決しました。他の人に役立つ場合は、ここでは正しく動作する改訂版があります。

```{r} 
library(leaflet) 
library(htmlwidgets) 
rand_lng = function(n = 10) rnorm(n, 145.7, .01) 
rand_lat = function(n = 10) rnorm(n, -17, .01) 
m = leaflet() %>% 
    addProviderTiles(providers$OpenStreetMap, group = "OSM") %>% 
    addProviderTiles(providers$Esri.WorldImagery, group = "Esri") %>% 
    addCircleMarkers(rand_lng(5), rand_lat(5), group = "Points")%>% 
    addMiniMap() %>% 
    addLayersControl(
    baseGroups = c("OSM","Stamen", "Esri"), 
    overlayGroups = c("Points"), 
    options = layersControlOptions(collapsed = FALSE)) %>% 
    setView(lng = 145.7, lat = -17, zoom = 12) 
m 
saveWidget(m, "leaflet_OSMplusEsri.html") 
``` 

問題の原因は、デフォルト値のaddTiles()です。私はなぜこれがうまくいかず、誰かが説明できるようになるとは思っていません。

関連する問題