I think this.overlay_.setMap should be called in the interaction's setMap function. And this.overlay_.setMap(null) should be done when the interaction's setMap function is called with null for the map argument.