Method: EncodedPolyline.encode

Defined in:
lib/encoded_polyline/core.rb

.encode(number, precision = 5) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
# File 'lib/encoded_polyline/core.rb', line 2

def self.encode(number, precision=5)
  number = (number * (10 ** precision)).round
  n = number << 1
  n = ~n if number < 0
  str = ""
  while n >= 0x20 do
      str << ((0x20 | (n & 0x1f)) + 63).chr
      n = n >> 5
  end
  return str << (n + 63).chr
end