alternative implementation to #3001

as per #3001, but the ol.Map object is only initialized when setMap makes the base map for this control known.