geohash.go
func NeighborsIntWithPrecision(hash uint64, bits uint) []uint64 {
	box := BoundingBoxIntWithPrecision(hash, bits)
	lat, lng := box.Center()
	latDelta := box.MaxLat - box.MinLat
	lngDelta := box.MaxLng - box.MinLng
	return []uint64{
		// N
		EncodeIntWithPrecision(lat+latDelta, lng, bits),
		// NE,
		EncodeIntWithPrecision(lat+latDelta, lng+lngDelta, bits),
		// E,
		EncodeIntWithPrecision(lat, lng+lngDelta, bits),
		// SE,
		EncodeIntWithPrecision(lat-latDelta, lng+lngDelta, bits),
		// S,
		EncodeIntWithPrecision(lat-latDelta, lng, bits),
		// SW,
		EncodeIntWithPrecision(lat-latDelta, lng-lngDelta, bits),
		// W,
		EncodeIntWithPrecision(lat, lng-lngDelta, bits),
		// NW
		EncodeIntWithPrecision(lat+latDelta, lng-lngDelta, bits),
	}
}
func NeighborsIntWithPrecision(hash uint64, bits uint) []uint64 {
	box := BoundingBoxIntWithPrecision(hash, bits)
	lat, lng := box.Center()
	latDelta := box.MaxLat - box.MinLat
	lngDelta := box.MaxLng - box.MinLng
	return []uint64{
		// N
		EncodeIntWithPrecision(lat+latDelta, lng, bits),
		// NE,
		EncodeIntWithPrecision(lat+latDelta, lng+lngDelta, bits),
		// E,
		EncodeIntWithPrecision(lat, lng+lngDelta, bits),
		// SE,
		EncodeIntWithPrecision(lat-latDelta, lng+lngDelta, bits),
		// S,
		EncodeIntWithPrecision(lat-latDelta, lng, bits),
		// SW,
		EncodeIntWithPrecision(lat-latDelta, lng-lngDelta, bits),
		// W,
		EncodeIntWithPrecision(lat, lng-lngDelta, bits),
		// NW
		EncodeIntWithPrecision(lat+latDelta, lng-lngDelta, bits),
	}
}
func NeighborsIntWithPrecision ( hash uint64 , bits uint ) [ ] uint64 { box := BoundingBoxIntWithPrecision ( hash , bits ) lat , lng := box . Center ( ) latDelta := box . MaxLat - box . MinLat lngDelta := box . MaxLng - box . MinLng return [ ] uint64 { // N EncodeIntWithPrecision ( lat + latDelta , lng , bits ) , // NE, EncodeIntWithPrecision ( lat + latDelta , lng + lngDelta , bits ) , // E, EncodeIntWithPrecision ( lat , lng + lngDelta , bits ) , // SE, EncodeIntWithPrecision ( lat - latDelta , lng + lngDelta , bits ) , // S, EncodeIntWithPrecision ( lat - latDelta , lng , bits ) , // SW, EncodeIntWithPrecision ( lat - latDelta , lng - lngDelta , bits ) , // W, EncodeIntWithPrecision ( lat , lng - lngDelta , bits ) , // NW EncodeIntWithPrecision ( lat + latDelta , lng - lngDelta , bits ) , } }
// NeighborsIntWithPrecision returns a slice of uint64s that correspond to the
// provided hash's neighbors at the given precision.
NeighborsIntWithPrecision returns a slice of uint64s that correspond to the provided hash s neighbors at the given precision .