Skip to content

SyncfusionExamples/Integrate-.NET-MAUI-Maps-with-android-native-embedding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

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

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages