1. A method of obtaining panoramic images by a user device comprising a display and a camera, the method comprising: generating, using one or more computing devices, a plurality of targets for a panoramic image based on operating parameters of the user device, each of the plurality of targets being associated with a portion of the panoramic image; displaying on the display, using the one or more computing devices, an initial target of the plurality of targets, wherein the position of a target relative to the center of the display is based at least in part on the target's associated portion of the panoramic image relative to the field of view of the camera; responsive to determining that the user device is properly positioned with respect to the initial target and using the one or more computing devices, capturing a first image for the initial target using a camera of the user device, the first image defining a first portion of the panoramic image; displaying, using the one or more computing devices, proximate targets of the plurality of targets, each of the proximate targets being connected to the initial target in a target graph of the plurality of targets; shifting, using the one or more computing devices, the positions of the proximate targets in response to the user device being repositioned; responsive to determining that the user device is properly positioned with respect to a next target of the proximate targets and using the one or more computing devices, capturing a second image for the next target using the camera of the user device, the second image defining a second portion of the panoramic image; and generating, using the one or more computing devices, the panoramic image using the first image and the second image.