Ok figured out out to use interfaces correctly
and now scrolling and zooming work I think the way apple intended
annotations also seem to map across tiles.

It would probably be worth converting dataLayer to work like
annLayer eg. cached tiles are completely drawn CGLayers