Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
MapControl zobrazuje symbolickou interaktivní mapu Země, která využívá Azure Maps. Můžete zobrazit umístění, přidat špendlíky a vlastní vrstvy a umožnit uživatelům interakci s mapou pomocí ovládacích prvků posouvání, přiblížení, otočení a roztečení.
MapControl vyžaduje účet Azure Maps. Podle pokynů v Spravujte účet Azure Maps a vytvořte účet a získejte token služby mapování.
Je to správná kontrola?
MapControl použijte, když chcete v aplikaci zobrazit geografická data, například:
- Zobrazení umístění na mapě se značkou.
- Zobrazuje kolekci bodů zájmu.
- Poskytuje interaktivní prostředí mapy s přiblížením a posouváním.
Vytvoření MapControl
- Důležitá rozhraní API: MapControl – třída, Třída MapIcon, MapElementsLayer – třída
![]()
Aplikace Galerie WinUI 3 obsahuje interaktivní příklady ovládacích prvků a funkcí WinUI. Získejte aplikaci z Microsoft Store nebo vyhledejte zdrojový kód na GitHub.
Přidejte na stránku MapControl a nastavte MapServiceToken na klíč Azure Maps.
<MapControl x:Name="myMap"
MapServiceToken="YOUR_AZURE_MAPS_TOKEN"
Height="400" />
Nastavení umístění mapy
Nastavte vlastnosti Center a ZoomLevel tak, aby ovládly, co mapa zobrazuje.
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" />
Přidejte piny na mapu
Pomocí MapIconu můžete zobrazit připínáky na mapě. Přidejte ikony do MapElementsLayer a pak přidejte vrstvu do kolekce Vrstvy mapy.
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);
Zobrazení nebo skrytí interaktivních ovládacích prvků
Vlastnost InteractiveControlsVisible určuje, zda mapa zobrazuje integrované překryvné ovládací prvky pro přiblížení, otočení, výšku a styl mapy.
<MapControl x:Name="myMap"
MapServiceToken="YOUR_AZURE_MAPS_TOKEN"
InteractiveControlsVisible="True"
Height="400" />
Zacházení s kliknutími na prvek mapy
Přihlaste se k události MapElementClick, abyste mohli reagovat, když uživatel klikne na prvek mapy, například na pin.
myMap.MapElementClick += (sender, args) =>
{
foreach (var element in args.MapElements)
{
if (element is MapIcon clickedIcon)
{
// Handle the clicked icon
}
}
};
Zpracování chyb mapové služby
Přihlaste se k odběru události MapServiceErrorOccurred a detekujte problémy s komunikací s mapovou službou, jako je neplatný nebo chybějící MapServiceToken.
myMap.MapServiceErrorOccurred += (sender, args) =>
{
// Log or display the error
System.Diagnostics.Debug.WriteLine("Map service error occurred.");
};
Související články
- Přehled map a umístění
- Získání polohy uživatele
- Nastavte geografickou zónu
- Třída MapControl
- Třída MapIcon
- Třída MapElementsLayer
- Azure Maps dokumentace
- Spravujte klíče účtu Azure Maps
Windows developer