This can be caused by a number of factors relating to the accuracy of GPS. If you are surrounded by tall buildings or large rock surfaces, for example, the GPS signal might be reflected off them and this can cause errors. These issues with the GPS signal can result in your device showing that your location is somewhere different from where you actually are.
Try moving the map so that the pin is in exactly the position that you want on the map/satellite image, rather than relying on the device's GPS accuracy.