Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
MapControlAzure Haritalar tarafından desteklenen sembolik, etkileşimli bir Dünya haritası görüntüler. Konumları gösterebilir, raptiyeler ve özel katmanlar ekleyebilir ve kullanıcıların kaydırma, yakınlaştırma, döndürme ve aralık denetimlerini kullanarak haritayla etkileşim kurmasını sağlayabilirsiniz.
MapControl bir Azure Haritalar hesabı gerektirir. Azure Haritalar hesabınızı yönetme adresindeki yönergeleri izleyerek bir hesap oluşturun ve bir harita hizmeti belirteci alın.
Doğru kontrol bu mu?
Uygulamanızda coğrafi verileri görüntülemek istediğinizde mapcontrol kullanın, örneğin:
- Harita üzerinde işaretçiyle bir konum gösteriliyor.
- İlgi çekici noktaların bir koleksiyonunu görüntüleme.
- Yakınlaştırma ve kaydırma ile etkileşimli bir harita deneyimi sağlama.
MapControl oluşturma
- Önemli API'ler: MapControl sınıfı, MapIcon sınıfı, MapElementsLayer sınıfı
![]()
WinUI 3 Galeri uygulaması, WinUI denetimlerinin ve özelliklerinin etkileşimli örneklerini içerir. uygulamayı Microsoft Store adresinden alın veya GitHub üzerindeki kaynak koduna göz atın.
Sayfanıza bir MapControl ekleyin ve MapServiceToken değerini Azure Haritalar anahtarınıza ayarlayın.
<MapControl x:Name="myMap"
MapServiceToken="YOUR_AZURE_MAPS_TOKEN"
Height="400" />
Harita konumunu ayarlama
Haritanın ne görüntüleyişini denetlemek için Center ve ZoomLevel özelliklerini ayarlayın.
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" />
Haritaya pin ekleme
Haritada işaretçileri görüntülemek için MapIcon'u kullanın. MapElementsLayer'a simgeler ekleyin ve ardından katmanı haritanın Katmanlar koleksiyonuna ekleyin.
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);
Etkileşimli denetimleri gösterme veya gizleme
InteractiveControlsVisible özelliği, haritanın yakınlaştırma, döndürme, perde ve harita stili için yerleşik katman denetimleri görüntüleyip görüntülemediğini denetler.
<MapControl x:Name="myMap"
MapServiceToken="YOUR_AZURE_MAPS_TOKEN"
InteractiveControlsVisible="True"
Height="400" />
Harita öğelerine tıklamayı işleme
Kullanıcı pin gibi bir eşleme öğesine tıkladığında yanıt vermek için MapElementClick olayına abone olun.
myMap.MapElementClick += (sender, args) =>
{
foreach (var element in args.MapElements)
{
if (element is MapIcon clickedIcon)
{
// Handle the clicked icon
}
}
};
Harita hizmeti hatalarını işleme
MapServiceErrorOccurred olayına abone olarak, geçersiz veya eksik mapserviceToken gibi harita hizmetiyle iletişim kuran sorunları algılayın.
myMap.MapServiceErrorOccurred += (sender, args) =>
{
// Log or display the error
System.Diagnostics.Debug.WriteLine("Map service error occurred.");
};
İlgili makaleler
Windows developer