Geocode with Android - MonoDroid - More Wally - Wallace B. McClure
in

MoreWally.com

Giving people what they want, More Wally. This is the technical and personal blog site of
Wallace B. (Wally) McClure.

This Blog

Syndication

News

Please goy buy 3-4 copies of my book on MonoTouch titled "Professional Android Programming with Mono for Android for .NET/C# Developers." They make great gifts all year round. Plus, I get about $.25 when you buy a copy.

Technical Sites

More Wally - Wallace B. McClure

This blog will have all kinds of posts about Wally McClure. In it, there will be tons of .NET and computer programming posts as well as Wally's views on life in general. As you might guess, this site and blog help you get More Wally in your life. What more could anyone want? iPhone, Android, MonoTouch, MonoDroid, Mobile, HTML5, .NET, ADO.NET, ASP.NET, AJAX, jQuery, jQuery Mobile, ASP.NET AJAX, and Windows Azure............follow me on twitter at Wally

Geocode with Android - MonoDroid

I want to perform some geocoding with Android, and MonoDroid.  The key issues are:

  • When you get the text value of an EditText, you are not getting a string, but an IEnumerable<char>.  That's an Android-ism.
  • The Geocoder requires permission to use the internet.
  • If the lookup fails, you recieve a null.
  • The geocoder runs on the UI thread.  It is not asynchronous.  This is different that listening for location changes.

I looked at some Java Code to do this.  I then did a translation and got this:

                    //There is a bug in the emulator that results in an error.
                    //This code works properly on a device.
                    var add = Convert.ToString(et.Text);
                    Geocoder geocoder = new Geocoder(this, Java.Util.Locale.Default);
                    IList<Android.Locations.Address> result = geocoder.GetFromLocationName(add, 10);
                    if (result != null)
                    {
                        tvLat.Text = result[0].Latitude.ToString();
                        tvLon.Text = result[0].Longitude.ToString();
                    }
 
Published Jul 06 2011, 08:00 PM by wallym
Filed under: , ,

Comments

No Comments
2006 - Wallace B. McClure
Powered by Community Server (Non-Commercial Edition), by Telligent Systems