Share via


OfflineMapPackage Classe

Definizione

Rappresenta i dati della mappa per una determinata area geografica. I dati possono essere scaricati e usati offline.

public ref class OfflineMapPackage sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 262144)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class OfflineMapPackage final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 262144)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class OfflineMapPackage
Public NotInheritable Class OfflineMapPackage
Ereditarietà
Object Platform::Object IInspectable OfflineMapPackage
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 Creators Update (è stato introdotto in 10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v4.0)

Esempio

Nell'esempio seguente viene trovato un pacchetto mappa usando una posizione geografica. Se il pacchetto della mappa non è stato scaricato in precedenza nel sistema locale, questo codice scarica in modo asincrono tale mappa.

Nota

I punti vicino a un bordo o a caselle di grandi dimensioni e cerchi possono restituire più corrispondenze del pacchetto mappa.

private async Task getMapPackages()
{
    Geopoint myPoint = new Geopoint(new BasicGeoposition()
    {
        //Geopoint for Seattle
        Latitude = 47.604,
        Longitude = -122.329
    });

    var queryResult = await OfflineMapPackage.FindPackagesAsync(myPoint);

    if (queryResult.Status == OfflineMapPackageQueryStatus.Success)
    {
        foreach (OfflineMapPackage package in queryResult.Packages)
        {
            if (package.Status != OfflineMapPackageStatus.Downloaded)
            {
                var downloadRequestResult = await package.RequestStartDownloadAsync();

                if (downloadRequestResult.Status == OfflineMapPackageStartDownloadStatus.Success)
                {
                    // do something with the offline map package.
                }
            }
        }
    }
}

Commenti

Usare questa classe per trovare in modo asincrono i pacchetti di mapping a cui si è interessati a usare offline. È possibile controllare lo stato dei pacchetti per determinare se tali pacchetti esistono nel sistema locale. In caso contrario, è possibile scaricarli in modo asincrono nel sistema.

È quindi possibile accedere ai dati nei controlli di sistema, ad esempio MapControl, e da altri oggetti nello spazio dei nomi Windows.Services.Maps .

Proprietà

DisplayName

Ottiene il nome visualizzato di una posizione geografica per il pacchetto della mappa offline.

EnclosingRegionName

Ottiene l'area circostante o contenitore del pacchetto della mappa offline, ad esempio USA.

EstimatedSizeInBytes

Ottiene le dimensioni stimate in byte del pacchetto della mappa offline.

Status

Ottiene lo stato di un pacchetto mappa, ad esempio se il pacchetto viene scaricato nel sistema locale o meno.

Metodi

FindPackagesAsync(Geopoint)

Avvia un'operazione asincrona per trovare un pacchetto mappa contenente i dati della mappa per la posizione geografica specificata.

FindPackagesInBoundingBoxAsync(GeoboundingBox)

Avvia un'operazione asincrona per trovare un pacchetto mappa contenente i dati della mappa per l'area geografica a quattro lati specificata.

FindPackagesInGeocircleAsync(Geocircle)

Avvia un'operazione asincrona per trovare un pacchetto mappa contenente i dati della mappa per l'area geografica specificata.

RequestStartDownloadAsync()

Avvia un'operazione asincrona per richiedere il download di un pacchetto di mapping nel sistema locale.

Eventi

StatusChanged

Si verifica quando lo stato di un oggetto OfflineMapPackageQueryResult cambia.

Si applica a