# File lib/pr_geohash.rb, line 37 def encode(latitude, longitude, precision=12) latlng = [latitude, longitude] points = [[-90.0, 90.0], [-180.0, 180.0]] is_lng = 1 (0...precision).map { ch = 0 5.times do |bit| mid = (points[is_lng][0] + points[is_lng][1]) / 2 points[is_lng][latlng[is_lng] > mid ? 0 : 1] = mid ch |= BITS[bit] if latlng[is_lng] > mid is_lng ^= 1 end BASE32[ch,1] }.join end