Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A MapControl a Föld szimbolikus, interaktív térképét jeleníti meg Azure Maps segítségével. Megjelenítheti a helyeket, kitűzőket és egyéni rétegeket vehet fel, és pásztázási, nagyítási, forgatási és hangmagasság-vezérlőkkel engedélyezheti a felhasználók számára a térkép használatát.
A MapControlhoz Azure Maps fiók szükséges. Kövesse az Azure Maps-fiók kezelése utasításait a fiók létrehozásához és a térkép szolgáltatási jogkivonatának beszerzéséhez.
Ez a megfelelő vezérlő?
Használjon MapControlt, ha földrajzi adatokat szeretne megjeleníteni az alkalmazásban, például:
- Hely megjelenítése egy térképen egy kitűzővel.
- Érdekes pontok gyűjteményének megjelenítése.
- Interaktív térképélmény biztosítása nagyítással és pásztázással.
MapControl létrehozása
- Fontos API-k: MapControl osztály, MapIcon osztály, MapElementsLayer osztály
![]()
A WinUI 3 Katalógus alkalmazás interaktív példákat tartalmaz a WinUI vezérlőire és funkcióira. Kérje le az alkalmazást a Microsoft Áruházból vagy keresse meg a forráskódot a GitHub webhelyen.
Adjon hozzá egy MapControlt az oldalra, és állítsa az MapServiceToken értékét az Azure Maps kulcsra.
<MapControl x:Name="myMap"
MapServiceToken="YOUR_AZURE_MAPS_TOKEN"
Height="400" />
A térkép helyének beállítása
A Térkép megjelenítésének szabályozásához állítsa be a Center és a ZoomLevel tulajdonságokat.
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" />
Helyjelzők hozzáadása a térképhez
Használja a MapIcon-t a térképen való megjelenítéséhez. Adjon hozzá ikonokat a MapElementsLayerhez, majd adja hozzá a réteget a térkép Rétegek gyűjteményéhez.
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);
Interaktív vezérlők megjelenítése vagy elrejtése
Az InteractiveControlsVisible tulajdonság azt szabályozza, hogy a térkép beépített átfedésvezérlőket jelenít-e meg a nagyítási, forgatási, hangmagassági és térképstílusokhoz.
<MapControl x:Name="myMap"
MapServiceToken="YOUR_AZURE_MAPS_TOKEN"
InteractiveControlsVisible="True"
Height="400" />
Térképelem kattintásainak kezelése
Iratkozzon fel a MapElementClick eseményre, hogy válaszoljon, amikor a felhasználó egy térképelemre, például egy pin-kódra kattint.
myMap.MapElementClick += (sender, args) =>
{
foreach (var element in args.MapElements)
{
if (element is MapIcon clickedIcon)
{
// Handle the clicked icon
}
}
};
Térképszolgáltatás hibáinak kezelése
Iratkozzon fel a MapServiceErrorOccurred eseményre, hogy észlelje a térképszolgáltatással kommunikáló problémákat, például egy érvénytelen vagy hiányzó MapServiceTokent.
myMap.MapServiceErrorOccurred += (sender, args) =>
{
// Log or display the error
System.Diagnostics.Debug.WriteLine("Map service error occurred.");
};
Kapcsolódó cikkek
Windows developer