wrap map.getZoom in apply so we can catch exception