2017-04-17 88 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