I usually follow the strategy of give my data a 'window' with f from make_bbox
:
bbox <- ggmap::make_bbox(Long, Lat, data, f = 0.5)
map_loc <- get_map(location = bbox, source = 'google', maptype = 'terrain')
map <- ggmap(map_loc, extent = 'device', maprange=FALSE, darken = c(0.5, "white"))
Another option is to set a different zoom factor:
map_loc <- get_map(location = c(lon = mean(data$lon), mean(data$lat)),
source = 'google', zoom = 14)
map <- ggmap(map_loc, extent = 'device')
play with zoom level to get the desired window area