encyklopedia.space

Windows Maps SDK

Windows Maps SDK – zestaw interfejsów programistycznych (ang. SDK) udostępniany przez firmę Microsoft umożliwiający twórcom aplikacji integrację usług mapowych w rozwiązaniach uruchamianych na platformach Windows, UWP, Android, iOS oraz w środowiskach Xamarin i React Native. Pakiet zapewnia zarówno gotowe kontrolki wizualne, jak i dostęp do usług REST oraz danych geoprzestrzennych.

Historia

Pierwsza wersja Windows Maps SDK pojawiła się w 2015 roku w ramach Microsoft Bing Maps Platform. Początkowo była dostępna wyłącznie dla aplikacji UWP, a w kolejnych latach rozbudowano ją o wsparcie dla Androida i iOS (2017) oraz integrację z Xamarin (2018). W 2020 roku wydano Windows Maps SDK for Web, umożliwiający tworzenie interaktywnych map w przeglądarkach przy użyciu JavaScript.

Główne komponenty

  • MapControl – gotowa kontrolka UI pozwalająca wyświetlać mapę, obsługiwać gesty dotykowe i dodawać warstwy.
  • Geolocation API – interfejs do określania położenia urządzenia przy użyciu satelity, Wi‑Fi i sieci komórkowej.
  • Search API – możliwości wyszukiwania adresów, punktów POI (ang. Points of Interest) oraz geokodowania odwróconego.
  • Routing API – wyznaczanie tras samochodowych, pieszych oraz transportu publicznego.
  • Data Layers – obsługa własnych warstw danych w formacie GeoJSON lub KML.
  • Offline Maps – pobieranie map do użytku offline, przydatne w aplikacjach mobilnych.

Platformy i języki programowania

SDK jest dostępny dla następujących środowisk:

Podstawowe funkcje

Wyświetlanie mapy

Za pomocą MapControl programista może wybrać jedną z kilku dostępnych styli mapy (np. Road, Aerial, CanvasDark) oraz zdefiniować poziom przybliżenia. Mapy są dostarczane z serwerów Bing Maps, które zapewniają aktualne dane kartograficzne.

Dodawanie znaczników i warstw

SDK umożliwia umieszczanie pushpinów, poligonów oraz linii. Dla dużych zbiorów danych zaleca się użycie Clustered Layer, aby utrzymać wysoką wydajność renderowania.

Geokodowanie i odwrócone geokodowanie

Za pomocą SearchManager można przekształcić adres w współrzędne geograficzne (geokodowanie) oraz odwrotnie – współrzędne na adres (odwrócone geokodowanie). Wyniki mogą być filtrowane pod kątem języka, kraju i typu miejsca.

Wyznaczanie tras

Routing API pozwala określić najkrótszą lub najszybszą trasę, uwzględniając ograniczenia ruchu, unikanie autostrad oraz preferencje dotyczące środków transportu. Trasy zwracane są jako zestaw punktów GeoJSON gotowy do wizualizacji.

Obsługa trybu offline

Programista może przygotować pakiet map do pobrania i zapisania w pamięci urządzenia. SDK automatycznie wykrywa brak połączenia i używa danych offline, gwarantując ciągłość działania aplikacji.

Bezpieczeństwo i limity

Wszystkie zapytania do usług mapowych wymagają klucza API (Key), uzyskiwanego w Azure Portal. Klucz może być skonfigurowany z ograniczeniami:

  • lokalizacja IP,
  • zakresy domen,
  • limit liczby zapytań na dzień.

Microsoft udostępnia również warunki licencji oraz cennik, w którym podstawowy plan Free Tier oferuje do 125 000 wyświetleń map miesięcznie.

Przykładowy kod (C# / UWP)

using Microsoft.UI.Xaml.Controls;
using Microsoft.Maps.MapControl.UI.Xaml;
using Microsoft.Maps.MapControl.UI.Xaml.Core;

public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();
        MyMap.CredentialsProvider = new ApplicationIdCredentialsProvider("TWÓJ_KLUCZ_API");
        MyMap.Center = new Geopoint(new BasicGeoposition() { Latitude = 52.2297, Longitude = 21.0122 });
        MyMap.ZoomLevel = 12;

        var pin = new MapIcon()
        {
            Location = MyMap.Center,
            Title = "Warszawa",
            NormalizedAnchorPoint = new Point(0.5, 1.0),
            ZIndex = 0
        };
        MyMap.MapElements.Add(pin);
    }
}

Porównanie z innymi SDK

W zestawieniu najpopularniejszych platform mapowych Windows Maps SDK wypada następująco:

Cecha Windows Maps SDK Google Maps SDK Here Maps SDK
Obsługa platform Windows, Android, iOS, Web, Xamarin Android, iOS, Web Android, iOS, Web, Windows
Licencjonowanie Free Tier + płatny plan Free Tier + płatny plan Płatny, brak darmowego tieru
Renderowanie 3D Tak (Aerial 3D) Tak Tak
Wsparcie offline Tak Tak (przy dodatkowym SDK) Tak

Zastosowania w praktyce

Windows Maps SDK znajduje zastosowanie w różnorodnych aplikacjach:

  • Systemy nawigacji samochodowej i fleet management.
  • Aplikacje turystyczne prezentujące atrakcje i punkty POI.
  • Rozwiązania logistyczne, monitorujące pozycję przesyłek.
  • Gry wykorzystujące mapy rzeczywiste jako tło (np. AR).
  • Aplikacje służb ratunkowych do szybkiej lokalizacji zdarzeń.

Rozwój i przyszłość

Microsoft zapowiada dalszą integrację Windows Maps SDK z usługą Azure Maps, co pozwoli na łączenie danych geoprzestrzennych z chmurą Azure oraz na wykorzystanie sztucznej inteligencji do analizy ruchu i prognozowania zdarzeń. Planowane są także ulepszenia w zakresie renderowania 3D oraz wsparcie dla nowych formatów danych, takich jak Mapbox Vector Tiles.

Źródła i dalsza lektura