7

I want to draw a square around a marker. if I draw a large square the map should zoom out automatically so that we can see the square completely. If I draw a small square the map should zoom in automatically to show the square completely.

In this image I have drawn small square so we can see the square completely

In this image I have drawn a larger square, Since the map is not zooming out we cannot see the square sides

Cœur
  • 37,241
  • 25
  • 195
  • 267
Nelson
  • 89
  • 1
  • 1
  • 6

2 Answers2

17

See ol.View in the openlayers 3 documentation. There is a function setZoom(zoom).

So if your map variable is map, to zoom in use map.getView().setZoom(map.getView().getZoom() + 1); and to zoom out use map.getView().setZoom(map.getView().getZoom() - 1);

Andy Nichols
  • 2,952
  • 2
  • 20
  • 36
5

If you want a smooth zoom:

map.getView().animate({
  zoom: map.getView().getZoom() + 1,
  duration: 250
})
lenooh
  • 10,364
  • 5
  • 58
  • 49