R:SetView中的传单基于数据集的纬度和经度范围
在ggmap中,可以根据输入数据的经度和纬度设置地图视图,其中csv的两列是经度和纬度,即R:SetView中的传单基于数据集的纬度和经度范围,r,zooming,leaflet,openstreetmap,R,Zooming,Leaflet,Openstreetmap,在ggmap中,可以根据输入数据的经度和纬度设置地图视图,其中csv的两列是经度和纬度,即 sep <- read.csv("31R_SEP_assets_csv.csv") # get the map bbox <- make_bbox(sep$Longitude, sep$Latitude, f = 0.3) map <- get_map(bbox) m <- leaflet() %>% setView(lng = -71.0589, lat = 42.36
sep <- read.csv("31R_SEP_assets_csv.csv")
# get the map
bbox <- make_bbox(sep$Longitude, sep$Latitude, f = 0.3)
map <- get_map(bbox)
m <- leaflet() %>% setView(lng = -71.0589, lat = 42.3601, zoom = 12)
m %>% addTiles()
更新
尝试
addTiles(do.call(fitBounds,args=c(list(map=ployate()),as.list(setNames)(make_bbox(sep$经度,sep$纬度,f=0.3),c(“lng1”,“lat1”,“lng2”,“lat2”))
地图是空白的
然后尝试
leaflet(data = sep[]) %>% addTiles() %>%
fitBounds(~min(sep$Longitude), ~min(sep$Latitude), ~max(sep$Longitude), ~max(sep$Latitude)) %>%
addMarkers(~Longitude, ~Latitude, popup = ~as.character(paste(Site, Percent_SEP12_Assets , sep=", ")))
地图仍在缩小
变通办法
我使用的是使用经度和纬度平均值的setView
leaflet(data = sep[]) %>%
setView(lng = mean(sep$Longitude), lat = mean(sep$Latitude), zoom = 12) %>% addTiles() %>%
addMarkers(~Longitude, ~Latitude, popup = ~as.character(paste(Site, Percent_SEP12_Assets , sep=", ")))
到目前为止似乎还有效……使用
fitBounds(lng1 = min(table$lng),
lat1 = min(table$lat),
lng2 = max(table$lng),
lat2 = max(table$lat))
leaftlet
也有函数fitboods(map,lng1,lat1,lng2,lat2)
和setMaxBounds(map,lng1,lat1,lng2,lat2)
。你试过这些了吗?除此之外:请总是尝试提供一个最小的可复制示例,而不是最大的不可复制示例。@lukeA请参阅更新后的文章dput()
@lukeA我正试图根据输入确定使用哪个lng1、lat1、lng2、lat2值。我应该使用最大值和最小值吗bbox
更灵活,因为它读取带有纬度和经度的数据集。您是否尝试过fitBounds?例如,addTiles(do.call(fitBounds,args=c(list(map=传单()),as.list(setNames)(make_bbox(sep$经度,sep$纬度,f=0.3),c(“lng1”,“lat1”,“lng2”,“lat2”;))
?@lukeA让我试试这个。。。
leaflet(data = sep[]) %>%
setView(lng = mean(sep$Longitude), lat = mean(sep$Latitude), zoom = 12) %>% addTiles() %>%
addMarkers(~Longitude, ~Latitude, popup = ~as.character(paste(Site, Percent_SEP12_Assets , sep=", ")))
fitBounds(lng1 = min(table$lng),
lat1 = min(table$lat),
lng2 = max(table$lng),
lat2 = max(table$lat))