I see. You could use geolocation and still let the user input his location
manually though even after you got a result via geolocation. The manual
result via geocoding you can do in various ways like simple 'user puts in
address, lat/lng is returned' or maybe even 'user drags marker to his
position on map, lat/lng is returned'. Several ways to do it really. I'd
however still use geolocation as a first step to aid user comfort and leave
it to the user to decide whether or not he wants to correct his location if
necessary/desired.