I have a long explanation on custom callout view here https://stackoverflow.com/a/19404994/1226370. In your case best practice would be to add view as subview of your calloutView, and calloutView itself make invisible.
All details about touch handling are described in linked answer.
Hope it will be useful!