Google Place Picker Plugin for Xamarin Projects
It has been long since I have updated my blog, here is a new post for Xamarin community :)
You might have come across different needs for selecting location in your apps, and might have resorted of developing Custom Renderer in case of Xamarin.Forms app.
I have developed an open source plugin for Xamarin to make this process easier. If you are interested in helping me out to extend the plugin, you can start contributing here: https://github.com/muhaym/crossplacepicker
One line of code, you will get Google Place Picker in your application.
Let’s get into step:
Step 1: Install Nuget to all projects in solutions (ie. in Shared PCL and Platform Specific projects)
https://www.nuget.org/packages/Fantacode.Plugin.CrossPlacePicker/
Step 2: Sign up for Google Maps Key at https://developers.google.com/places/android-api/signup
Step 3:
Follow Platform setup guide from
https://github.com/muhaym/crossplacepicker#important-permission-and-setup-information
Step 4:
Wherever you require place picker, use
try
{
var result = await CrossPlacePicker.Current.Display();
if (result != null)
{
await DisplayAlert(result.Name, "Latitude: " + result.Coordinates.Latitude + "\nLongitude: " + result.Coordinates.Longitude, "OK"); // Xamarin Forms
}
}
catch (Exception ex)
{
await DisplayAlert("Error", ex.ToString(), "Oops");
}
If you want to set initial map screen to specific bounds, use
try
{
var southWest = new Coordinates(85, -180);
var northEast = new Coordinates(-85, 180);
var CoordinateBounds = new CoordinateBounds(southWest, northEast);
var result = await CrossPlacePicker.Current.Display(CoordinateBounds);
}
catch (Exception ex)
{
await DisplayAlert("Error", ex.ToString(), "Oops");
}
If you face any issues, comment here, or in issues tracker at github https://github.com/muhaym/crossplacepicker/issues
Sample for this plugin used in and Xamarin.Forms project can be found here
https://github.com/muhaym/CrossPlacePicker/tree/master/samples/PlacePickerForms