# Get Map with specified boundary coordinates

I want to get a map with RgoogleMaps from R, with a specific coordinates boundary.

What I can call is GetMap, and specify a center, I must add a zoom level. Everything works fine, except that I am not getting an image map bounded with the coordinates I choose.

Here's an example:

```lat <- c(44.49,44.5)
lon <- c(11.33,11.36)
center = c(mean(lat), mean(lon))
zoom <- 14
mmap <- GetMap(center = center, zoom=zoom, maptype= "satellite", destfile = "m.png")
```

The problem is that only the center is passed as a parameter, and thus the whole image I see is dependant on the zoom level. So, I cannot really understand what are the boundaries of the image I get. What I want to do is to get an image bounded exactly with the coordinates I am defining. Is this possible (also with other map packages)?

## Answers

Here is one way. First, you get a map with a certain zoom. Then, you add the lon and lat limit when you draw a figure, which you can do with scale_x_continuous and scale_y_continuous.

```library(ggmap)
library(ggplot2)

### Set a range
lat <- c(44.49, 44.5)
lon <- c(11.33, 11.36)

### Get a map
map <- get_map(location = c(lon = mean(lon), lat = mean(lat)), zoom = 14,
maptype = "satellite", source = "google")

### When you draw a figure, you limit lon and lat.
foo <- ggmap(map)+
scale_x_continuous(limits = c(11.33, 11.36), expand = c(0, 0)) +
scale_y_continuous(limits = c(44.49, 44.5), expand = c(0, 0))

foo
```

Another option is using OpenStreetMap as a source for your map. With the get_map function from the ggmap package, you can specify the boundaries of your map when you use OpenStreetMap as a source. With:

```mmap <- get_map(location = c(11.33,44.49,11.36,44.50), source = "osm")
ggmap(mmap)
```

you get:

However, this method does not work with GoogleMaps. Specifying the boundaries with GoogleMaps as a source will give you the following warning:

Warning: bounding box given to google - spatial extent only approximate. converting bounding box to center/zoom specification. (experimental)

A drawback of using OpenStreetMap is that you won't have access to satelite images.

Another way for an actual interactive Google Map is with my googleway package

```library(googleway)

lat <- c(44.49,44.5)
lon <- c(11.33,11.36)
zoom <- 14

mapKey <- 'your_api_key'

google_map(location = c(mean(lat), mean(lon)), zoom = zoom, key = mapKey)
```

Which, being a Google Map, comes with satellite imagary as standard

I wish I had seen this question earlier. The RgoogleMaps package offers two ways of retrieving a map: GetMap(center, zoom) and GetMap.bbox(lonR,latR) which simply takes the bounding box as parameters. The zoom level is automatically computed. I think that the latter function could be what you are looking for. Markus

### Clear text from textarea with selenium

I've got some tests where I'm checking that the proper error message appears when text in certain fields are invalid. One check for validity is that a certain textarea element is not empty.

### How to get a value from a cell of a dataframe?

I have constructed a condition that extract exactly one row from my data frame: