Nelson
Nelson

Reputation: 89

How to zoom map programmatically Openlayers 3?

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

Upvotes: 7

Views: 16101

Answers (2)

lenooh
lenooh

Reputation: 10682

If you want a smooth zoom:

map.getView().animate({
  zoom: map.getView().getZoom() + 1,
  duration: 250
})

Upvotes: 5

Andy Nichols
Andy Nichols

Reputation: 3002

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);

Upvotes: 18

Related Questions