2017-06-21 67 views
1

許多問題似乎與我相似,我無法找到不過一個合適的答案R.如何使用谷歌衛星視圖着R單張瓦

到目前爲止,我用的是真棒[R單張(及ggmap )這樣包:

library(ggmap) 
library(leaflet) 

coord <-geocode('New York') 

map.city <- leaflet() %>% 
    addTiles('http://{s}.tile.thunderforest.com/transport/{z}/{x}/{y}.png?apikey=68c4cd328d3b484091812a76fae093fd') %>% 
setView(coord$lon, coord$lat, zoom = 11) 

但是,如果我想作爲一個地圖谷歌衛星?

我通過這個帖子

https://stackoverflow.com/questions/9394190/leaflet-map-api-with-google-satellite-layer#=

去,但不知道如何使用其中定義的googleSat功能。

+0

如果它必須是谷歌衛星圖像,你可以試試[googleway](https://cran.r-project.org/web/packages/googleway/index.html)包。如果其他衛星圖像正常,則可以在**單張中使用「Esri.WorlImagery」**:'map.city < - leaflet()%>%>% addProviderTiles('Esri.WorldImagery')%>% setView (coord $ lon,coord $ lat,zoom = 11)''' – TimSalabim

+0

謝謝,那已經可以完成這項工作了。然而Esri.WorlImagery沒有提供建築物和道路的細節。 Googleway似乎是一個有趣的選擇,儘管我找不到與傳單控制器等效的內容(即如何打開/關閉羣組) –

+0

我不確定您的意思是「建築物和道路的細節」。如果你指的是街道名稱的谷歌混合地圖,那麼你可以添加「CartoDB.PositronOnlyLabels」,以獲得最新的地名。 '''map.city < - leaflet()%>%addProviderTiles('Esri.WorldImagery')%>%setView(coord $ lon,coord $ lat,zoom = 11); map.city%> addProviderTiles(「CartoDB.PositronOnlyLabels」)''' – TimSalabim

回答

1

使用實際的谷歌地圖(附帶衛星視圖),你可以用我的googleway

library(googleway) 

apiKey <- 'your_api_key' 
mapKey <- 'your_map_key' 

newYork <- google_geocode(address = "New York", key = apiKey) 

google_map(location = as.numeric(newYork$results$geometry$location), 
      key = mapKey) 

enter image description here

vignette有您可以用地圖做什麼更多的例子。

3

如果它必須是谷歌衛星圖像,你可以使用googleway包。如果其他衛星圖像是好的,你可以使用「Esri.WorlImagery」有或無小葉「CartoDB.PositronOnlyLabels」:

library(ggmap) 
library(leaflet) 

coord <-geocode('New York') 

map.city <- leaflet() %>% addProviderTiles('Esri.WorldImagery') %>% 
    setView(coord$lon, coord$lat, zoom = 11) 
map.city %>% addProviderTiles("CartoDB.PositronOnlyLabels")