Xamarin.Forms.Maps Namespace

Cross-Platform Library for Displaying and Annotating Maps.

Classes

Geocoder

Converts between string addresses and Positions.

Map

A View that shows a map provided by a platform-specific service.

MapSpan

A circular region on a Map.

Pin

A marker on a Map.

Structs

Distance

Struct that encapsulates a distance (natively stored as a double of meters).

Position

A struct that has a latitude and longitude, stored as doubles.

Enums

MapType

Enumeration that specifies the display style of the map.

PinType

Enumeration specifying the various kinds of Pin.

Remarks

Xamarin.Forms.Maps provides a cross-platform abstraction for displaying maps. To use Xamarin.Forms.Maps, application developers must calls Xamarin.FormsMaps.Init() as part of platform initialization, as shown in the following example:


//Shared
public class App
{
	public static Page GetMainPage ()
	{	
		return new ContentPage { 
			Content = new Map (MapSpan.FromCenterAndRadius (new Position (37, -122), Distance.FromMiles (10)))
		};
	}
}
//iOS
[Register ("AppDelegate")]
public partial class AppDelegate : UIApplicationDelegate
{
	UIWindow window;
    
	public override bool FinishedLaunching (UIApplication app, NSDictionary options)
	{
		Forms.Init ();
		FormsMaps.Init ();
    
		window = new UIWindow (UIScreen.MainScreen.Bounds);
		
		window.RootViewController = App.GetMainPage ().CreateViewController ();
		window.MakeKeyAndVisible ();
		
		return true;
	}
}
//Android
namespace HelloMap.Android
{
	[Activity (Label = "HelloMap.Android.Android", MainLauncher = true)]
	public class MainActivity : AndroidActivity
	{
		protected override void OnCreate (Bundle bundle)
		{
			base.OnCreate (bundle);
    
			Xamarin.Forms.Forms.Init (this, bundle);
			FormsMaps.Init(this, bundle);
    
			SetPage (App.GetMainPage ());
		}
	}
}