doesn't this need to be set somewhere?  i.e. back to the to the geohash. 

Also, I think that the GeoPoint itself needs to be used as a varialbe and not the geohash, since generating the geohash will be based on the precision specified? For example, someone might define a very high precision, and then the geohash method here uses the default precision which might not be good enough...