reposition annotations when view changes (instead of destroying)

Also, create annotation_array only once