A Generative Map for Image-based Camera Localization