다음을 통해 공유


OfflineMapPackage 클래스

정의

특정 지역에 대한 지도 데이터를 나타냅니다. 데이터를 오프라인으로 다운로드하여 사용할 수 있습니다.

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
상속
Object Platform::Object IInspectable OfflineMapPackage
특성

Windows 요구 사항

디바이스 패밀리
Windows 10 Creators Update (10.0.15063.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v4.0에서 도입되었습니다.)

예제

다음 예제에서는 지리적 위치를 사용하여 지도 패키지를 찾습니다. 맵 패키지가 이전에 로컬 시스템에 다운로드되지 않은 경우 이 코드는 해당 맵을 비동기적으로 다운로드합니다.

참고

테두리 또는 큰 상자와 원 근처의 지점은 여러 맵 패키지 일치 항목을 반환할 수 있습니다.

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.
                }
            }
        }
    }
}

설명

이 클래스를 사용하여 오프라인으로 사용하려는 맵 패키지를 비동기적으로 찾습니다. 패키지의 상태 검사 해당 패키지가 로컬 시스템에 있는지 여부를 확인할 수 있습니다. 그렇지 않은 경우 시스템에 비동기적으로 다운로드할 수 있습니다.

그런 다음 MapControl과 같은 시스템 컨트롤 및 Windows.Services.Maps 네임스페이스의 다른 개체에서 해당 데이터에 액세스할 수 있습니다.

속성

DisplayName

오프라인 지도 패키지에 대한 지리적 위치의 표시 이름을 가져옵니다.

EnclosingRegionName

오프라인 맵 패키지의 주변 또는 포함 영역을 가져옵니다(예: 미국).

EstimatedSizeInBytes

오프라인 맵 패키지의 예상 크기(바이트)를 가져옵니다.

Status

맵 패키지의 상태 가져옵니다(예: 패키지가 로컬 시스템에 다운로드되었는지 여부).

메서드

FindPackagesAsync(Geopoint)

비동기 작업을 시작하여 지정된 지리적 위치에 대한 지도 데이터가 포함된 맵 패키지를 찾습니다.

FindPackagesInBoundingBoxAsync(GeoboundingBox)

지정된 4면 지리적 영역에 대한 지도 데이터가 포함된 맵 패키지를 찾기 위한 비동기 작업을 시작합니다.

FindPackagesInGeocircleAsync(Geocircle)

비동기 작업을 시작하여 지정된 지리적 영역에 대한 지도 데이터가 포함된 맵 패키지를 찾습니다.

RequestStartDownloadAsync()

로컬 시스템에 맵 패키지 다운로드를 요청하는 비동기 작업을 시작합니다.

이벤트

StatusChanged

OfflineMapPackageQueryResult의 상태 변경되면 발생합니다.

적용 대상