R:SetView中的传单基于数据集的纬度和经度范围

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

在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.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))