Pretty address from coordinates in iOS using RubyMotion

3 June
  • rubymotion, ios, ruby, technical

For a recent project, I needed to generate a nice address from lat/long coordinates. I’ve done this many times on web-based applications. It turns out it’s even easier in iOS.

cllocation = CLLocation.alloc.initWithLatitude(52.107631, longitude:0.040305)
  onReverseGeocode = Proc.new do |placemarks, error|
    unless error
      placemark = placemarks.lastObject
      address.text = ABCreateStringWithAddressDictionary(placemark.addressDictionary, false) 
    end
  end
  CLGeocoder.new.reverseGeocodeLocation(cllocation, completionHandler: onReverseGeocode)

You can also create your own string by using the placemark properties rather than the standard format ABCreateStringWithAddressDictionary.