Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
MapControl menampilkan peta simbolis interaktif Bumi yang didukung oleh Azure Maps. Anda dapat menampilkan lokasi, menambahkan pin dan lapisan kustom, dan memungkinkan pengguna berinteraksi dengan peta menggunakan kontrol pan, zoom, rotasi, dan pitch.
MapControl memerlukan akun Azure Maps. Ikuti instruksi di Kelola akun Azure Maps Anda untuk membuat akun dan mendapatkan token layanan peta.
Apakah ini kontrol yang tepat?
Gunakan MapControl saat Anda ingin menampilkan data geografis di aplikasi Anda, seperti:
- Menampilkan lokasi di peta dengan pin.
- Menampilkan kumpulan tempat menarik.
- Memberikan pengalaman peta interaktif dengan zoom dan pan.
Membuat MapControl
- API penting: MapControl kelas, MapIcon kelas, MapElementsLayer kelas
![]()
Aplikasi Galeri WinUI 3 mencakup contoh interaktif kontrol dan fitur WinUI. Dapatkan aplikasi dari Microsoft Store atau telusuri kode sumber pada GitHub.
Tambahkan MapControl ke halaman Anda dan atur MapServiceToken ke kunci Azure Maps Anda.
<MapControl x:Name="myMap"
MapServiceToken="YOUR_AZURE_MAPS_TOKEN"
Height="400" />
Mengatur lokasi peta
Atur properti Tengah dan ZoomLevel untuk mengontrol apa yang ditampilkan peta.
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" />
Menambahkan pin ke peta
Gunakan MapIcon untuk menampilkan pushpin di peta. Tambahkan ikon ke MapElementsLayer, lalu tambahkan lapisan ke koleksi Lapisan peta.
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);
Perlihatkan atau sembunyikan kontrol interaktif
Properti InteractiveControlsVisible mengontrol apakah peta menampilkan kontrol overlay bawaan untuk zoom, rotasi, pitch, dan gaya peta.
<MapControl x:Name="myMap"
MapServiceToken="YOUR_AZURE_MAPS_TOKEN"
InteractiveControlsVisible="True"
Height="400" />
Menangani klik elemen peta
Berlangganan ke peristiwa MapElementClick untuk merespons saat pengguna mengklik elemen peta seperti pin.
myMap.MapElementClick += (sender, args) =>
{
foreach (var element in args.MapElements)
{
if (element is MapIcon clickedIcon)
{
// Handle the clicked icon
}
}
};
Menangani kesalahan layanan peta
Berlangganan ke peristiwa MapServiceErrorOccurred untuk mendeteksi masalah berkomunikasi dengan layanan peta, seperti MapServiceToken yang tidak valid atau hilang.
myMap.MapServiceErrorOccurred += (sender, args) =>
{
// Log or display the error
System.Diagnostics.Debug.WriteLine("Map service error occurred.");
};
Artikel terkait
Windows developer