I understand that you want the location of the photo and not the location of the user uploading that photo, but given that both are identical in many cases, getting the location with the regular geolocation API might be an acceptable solution that is also transparent to the user.
Show a location picker with the user's current location and the option to select an alternative location. Not as smooth as using EXIF data, but doable.
What happens if I upload my images a week from now, in a completely different location?
The problem is that lots of scenic areas have slow or no Internet access. So uploading as you go isn't always practical.