Skip to content

About

This repository contains a sample that explain how to integrate .NET MAUI SfMaps with android native embedding.

Topics

Resources

Stars

0 stars

Watchers

3 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

How to integrate .NET MAUI Maps with android native embedding application?

In this article, you will learn how to create a .NET MAUI Maps native embedded Android application by following the step by step process explained below.

Step 1: Create a .NET Android application and install the Syncfusion.Maui.Maps nuget package using the nuget.org.

Step 2: In the project file of the native application, add the tag <UseMaui>true</UseMaui> to enable the .NET MAUI support as demonstrated below.

[XML]:

<PropertyGroup>
   <Nullable>enable</Nullable>
   <ImplicitUsings>enable</ImplicitUsings>
   <UseMaui>true</UseMaui>
</PropertyGroup>

Step 3: Initialize .NET MAUI in the native app project by creating a MauiAppBuilder object and using the UseMauiEmbedding function. Then, use the Build() method on the MauiAppBuilder object to build a MauiApp object. Finally, create a MauiContext object from the MauiApp object to convert .NET MAUI controls to native types.

[C#]:

MauiContext? _mauiContext;
protected override void OnCreate(Bundle? savedInstanceState)
{
   base.OnCreate(savedInstanceState);
   MauiAppBuilder builder = MauiApp.CreateBuilder();
   builder.UseMauiEmbedding<Microsoft.Maui.Controls.Application>();
   builder.ConfigureSyncfusionCore();
   MauiApp mauiApp = builder.Build();
   _mauiContext = new MauiContext(mauiApp.Services, this);
}

Step 4: Create a new instance for the SfMaps control, add a shape layer to it, and set the source of the map shapes using the ShapesSource property of the MapShapeLayer.

[C#]:

protected override void OnCreate(Bundle? savedInstanceState)
{
  ...
  SfMaps map = new SfMaps();
  MapShapeLayer layer = new MapShapeLayer();
  layer.ShapesSource = MapSource.FromUri(new Uri("https://cdn.syncfusion.com/maps/map-data/world-map.json"));
  map.Layer = layer;
  ...
}

Step 5: Convert the Maps control to a platform-specific view for the .NET MAUI framework and set this view as the content view for the current Android activity.

[C#]:

protected override void OnCreate(Bundle? savedInstanceState)
{
  Android.Views.View view = map.ToPlatform(_mauiContext);

  // Set our view from the "main" layout resource
  SetContentView(view);
}

Output:

Map-Android-Native-Embedding.png

About

This repository contains a sample that explain how to integrate .NET MAUI SfMaps with android native embedding.

Topics

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages