Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De MapControl geeft een symbolische, interactieve kaart weer van de aarde die wordt aangedreven door Azure Maps. U kunt locaties weergeven, pinnen en aangepaste lagen toevoegen, en gebruikers de kaart interactief laten gebruiken met pannen, zoomen, draaien en kantelen.
Voor MapControl is een Azure Maps-account vereist. Volg de instructies in Manage uw Azure Maps-account om een account te maken en een kaartservicetoken te verkrijgen.
Is dit de juiste controle?
Gebruik een MapControl als u geografische gegevens in uw app wilt weergeven, zoals:
- Een locatie op een kaart met een speld weergeven.
- Een verzameling nuttige plaatsen weergeven.
- Een interactieve kaartervaring bieden met zoom en verschuiven.
Een MapControl maken
- Belangrijke API's: MapControl-klasse, MapIcon-klasse, MapElementsLayer-klasse
![]()
De WinUI 3 Gallery-app bevat interactieve voorbeelden van WinUI-besturingselementen en -functies. Haal de app op uit de Microsoft Store of blader door de broncode op GitHub.
Voeg een MapControl toe aan uw pagina en stel de MapServiceToken in op uw Azure Maps-sleutel.
<MapControl x:Name="myMap"
MapServiceToken="YOUR_AZURE_MAPS_TOKEN"
Height="400" />
De kaartlocatie instellen
Stel de eigenschappen Center en ZoomLevel in om te bepalen wat de kaart weergeeft.
using Windows.Devices.Geolocation;
var position = new BasicGeoposition { Latitude = 47.6062, Longitude = -122.3321 };
myMap.Center = new Geopoint(position);
myMap.ZoomLevel = 12;
<!-- Set initial center and zoom in XAML is not supported; set in code-behind -->
<MapControl x:Name="myMap"
MapServiceToken="YOUR_AZURE_MAPS_TOKEN"
Height="400" />
Pinnen toevoegen aan de kaart
Gebruik MapIcon om punaises op de kaart weer te geven. Voeg pictogrammen toe aan een MapElementsLayer en voeg vervolgens de laag toe aan de verzameling Lagen van de kaart.
using Windows.Devices.Geolocation;
using Microsoft.UI.Xaml.Controls;
using System.Collections.Generic;
var position = new BasicGeoposition
{
Latitude = 47.6062,
Longitude = -122.3321
};
var icon = new MapIcon
{
Location = new Geopoint(position),
};
var layer = new MapElementsLayer
{
MapElements = new List<MapElement> { icon }
};
myMap.Layers.Add(layer);
Interactieve besturingselementen weergeven of verbergen
De eigenschap InteractiveControlsVisible bepaalt of op de kaart ingebouwde overlaybesturingselementen worden weergegeven voor zoom-, draai-, pitch- en kaartstijl.
<MapControl x:Name="myMap"
MapServiceToken="YOUR_AZURE_MAPS_TOKEN"
InteractiveControlsVisible="True"
Height="400" />
Klikken op kaartelementen verwerken
Abonneer u op de gebeurtenis MapElementClick om te reageren wanneer de gebruiker op een kaartelement klikt, zoals een speld.
myMap.MapElementClick += (sender, args) =>
{
foreach (var element in args.MapElements)
{
if (element is MapIcon clickedIcon)
{
// Handle the clicked icon
}
}
};
Kaartservicefouten verwerken
Abonneer u op de mapServiceErrorOccurred-gebeurtenis om problemen te detecteren die communiceren met de kaartservice, zoals een ongeldige of ontbrekende MapServiceToken.
myMap.MapServiceErrorOccurred += (sender, args) =>
{
// Log or display the error
System.Diagnostics.Debug.WriteLine("Map service error occurred.");
};
Verwante artikelen
Windows developer