2017-04-17 49 views
3

中使用有向線連接空間點我一直在嘗試使用PlotGoogleMaps軟件包從R做一些動態Google Map圖。在使用此軟件包的谷歌地圖上繪製空間點時,我沒有任何問題。使用PlotGoogleMaps封裝在R

我想連接一些用線繪製的空間點。我無法找到任何方式在R中使用該包。看起來谷歌地圖在API中有一個功能:google.maps.Polyline

任何人都可以幫助如何做到這一點在R?我提到了像How to get image iconMarker working for plotGoogleMaps R?這樣的鏈接,以確保我的基本情節工作正常。我如何加入他們展示一條道路?

我跑到下面

library(plotGoogleMaps) 
vessels = data.frame(id = c(1:10) 
        , lat = c(22.0959, 22.5684, 21.9189, 21.8409, 22.4663, 22.7434, 22.1658, 24.5691, 22.4787, 22.3039) 
        , lon = c(114.021, 114.252, 113.210, 113.128, 113.894, 114.613, 113.803, 119.730, 113.910, 114.147)) 
group1 = vessels[1:5,] 
group2 = vessels[6:10,] 

coordinates(group1) = ~ lon + lat 
proj4string(group1) = CRS("+proj=longlat +datum=WGS84") 
group1 <- SpatialPointsDataFrame(group1 , data = data.frame(ID = row.names(group1))) 

coordinates(group2) = ~ lon + lat 
proj4string(group2) = CRS("+proj=longlat +datum=WGS84") 
group2 <- SpatialPointsDataFrame(group2 , data = data.frame(ID = row.names(group1))) 
m <- plotGoogleMaps(group1, legend = FALSE, layerName = "Vessels 1" 
        , add =T, 
        iconMarker=rep('http://maps.google.com/mapfiles/kml/shapes/placemark_circle.png',nrow(group1)), 
        mapTypeId='ROADMAP', filename = "out.htm") 

m <- plotGoogleMaps(group2,legend = FALSE, layerName = "Vessels 2" 
        , previousMap = m , add = F 
        , iconMarker = rep('http://maps.google.com/mapfiles/kml/shapes/placemark_circle.png',nrow(group2)) 
        , filename = "out.htm") 

它工作正常的代碼。但我不知道如何連接繪製點以在地圖上選定的一對點之間建立路徑。

+0

請提高你的問題。從這裏開始:[如何創建最小,完整和可驗證的示例](https://stackoverflow.com/help/mcve)或以其他方式顯示您到目前爲止所做的工作。 – iled

+0

我跑下面的罰款(從我原來的問題鏈接取得) – user7876297

+0

你的問題應該是自包含的。 – iled

回答

0

這並不直接回答你的問題,但我發佈它作爲潛在的選擇。

我已經構建了googleway包,其中包含一個Google Maps小部件。

要使用谷歌地圖,你需要一個Google Maps API key

library(googleway) 

vessels = data.frame(id = c(1:10) 
        , lat = c(22.0959, 22.5684, 21.9189, 21.8409, 22.4663, 22.7434, 22.1658, 24.5691, 22.4787, 22.3039) 
        , lon = c(114.021, 114.252, 113.210, 113.128, 113.894, 114.613, 113.803, 119.730, 113.910, 114.147)) 

vessels$group <- c(rep(1, 5), rep(2, 5)) 

## a google maps api key 
map_key <- "your_api_key" 

google_map(key = map_key, data = vessels) %>% 
    add_circles(radius = 1000) %>% 
    add_polylines(lat = 'lat', lon = 'lon', id = 'group', 
        mouse_over_group = 'group') 

enter image description here

+0

非常感謝。這很有幫助。 – user7876297

+0

@ user7876297 - 無後顧之憂 - 該組件現已在CRAN上被接受,因此無需使用dev版本 – SymbolixAU