我有一个数据框:
const express = require('express');
const router = express.Router();
const request = require('request');
router.get('/', function(req, res) {
const url = 'https://www.gravatar.com/avatar/2ea70f0c2a432ffbb9e5875039645b39?s=32&d=identicon&r=PG&f=1';
request.get(url).pipe(res);
});
module.exports = router;
那里有3个人。使用ggmap我想每行生成一个地图,在这种情况下显示每个人的位置。
之前我使用过ggmap,但我的代码是:
df <- read.csv(text = "name,lat,long
Tom,42,-73
Sally,41,-72
Harry,41,-74")
...无法拉动地图并使其居中。我想首先将地图置于人的位置中心,然后将点放在该中心位置,将三张地图作为输出。
感谢。
答案 0 :(得分:2)
我们可以遍历数据框,每行产生一个地图:
library(ggmap)
p <- vector("list", 3)
for (i in seq_along(df)){
p[[i]] <- ggmap(get_map(location = c(lon = df$lon[i], lat = df$lat[i]),
zoom = 12, color = "bw", source = "google")) +
geom_point(data=df[i,], aes(x=long, y=lat), color='red')
}
> p[[1]]
> p[[2]]
> p[[3]]
注意:
zoom = 12, ... source = "osm"
参数中有location = c(...)
。这些应该是get_map()
。答案 1 :(得分:1)