geohash.go
func Neighbors(hash string) []string {
	box := BoundingBox(hash)
	lat, lng := box.Center()
	latDelta := box.MaxLat - box.MinLat
	lngDelta := box.MaxLng - box.MinLng
	precision := uint(len(hash))
	return []string{
		// N
		EncodeWithPrecision(lat+latDelta, lng, precision),
		// NE,
		EncodeWithPrecision(lat+latDelta, lng+lngDelta, precision),
		// E,
		EncodeWithPrecision(lat, lng+lngDelta, precision),
		// SE,
		EncodeWithPrecision(lat-latDelta, lng+lngDelta, precision),
		// S,
		EncodeWithPrecision(lat-latDelta, lng, precision),
		// SW,
		EncodeWithPrecision(lat-latDelta, lng-lngDelta, precision),
		// W,
		EncodeWithPrecision(lat, lng-lngDelta, precision),
		// NW
		EncodeWithPrecision(lat+latDelta, lng-lngDelta, precision),
	}
}
func Neighbors(hash string) []string {
	box := BoundingBox(hash)
	lat, lng := box.Center()
	latDelta := box.MaxLat - box.MinLat
	lngDelta := box.MaxLng - box.MinLng
	precision := uint(len(hash))
	return []string{
		// N
		EncodeWithPrecision(lat+latDelta, lng, precision),
		// NE,
		EncodeWithPrecision(lat+latDelta, lng+lngDelta, precision),
		// E,
		EncodeWithPrecision(lat, lng+lngDelta, precision),
		// SE,
		EncodeWithPrecision(lat-latDelta, lng+lngDelta, precision),
		// S,
		EncodeWithPrecision(lat-latDelta, lng, precision),
		// SW,
		EncodeWithPrecision(lat-latDelta, lng-lngDelta, precision),
		// W,
		EncodeWithPrecision(lat, lng-lngDelta, precision),
		// NW
		EncodeWithPrecision(lat+latDelta, lng-lngDelta, precision),
	}
}
func Neighbors ( hash string ) [ ] string { box := BoundingBox ( hash ) lat , lng := box . Center ( ) latDelta := box . MaxLat - box . MinLat lngDelta := box . MaxLng - box . MinLng precision := uint ( len ( hash ) ) return [ ] string { // N EncodeWithPrecision ( lat + latDelta , lng , precision ) , // NE, EncodeWithPrecision ( lat + latDelta , lng + lngDelta , precision ) , // E, EncodeWithPrecision ( lat , lng + lngDelta , precision ) , // SE, EncodeWithPrecision ( lat - latDelta , lng + lngDelta , precision ) , // S, EncodeWithPrecision ( lat - latDelta , lng , precision ) , // SW, EncodeWithPrecision ( lat - latDelta , lng - lngDelta , precision ) , // W, EncodeWithPrecision ( lat , lng - lngDelta , precision ) , // NW EncodeWithPrecision ( lat + latDelta , lng - lngDelta , precision ) , } }
// Neighbors returns a slice of geohash strings that correspond to the provided
// geohash's neighbors.
Neighbors returns a slice of geohash strings that correspond to the provided geohash s neighbors .