다음을 통해 공유


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

설명

중요하다

엔터프라이즈 서비스 사용 중지 Bing Maps

UWP MapControlWindows.Services.Maps 네임스페이스의 맵 서비스는 Bing Maps를 사용합니다. 엔터프라이즈용 Bing Maps는 더 이상 사용되지 않으며 사용 중지되며, 이 시점에서 MapControl 및 서비스는 더 이상 데이터를 수신하지 않습니다.

자세한 내용은 Bing Maps 개발자 센터Bing Maps 설명서참조하세요.

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

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

중요하다

이 클래스를 사용하려면 Offline Maps Management 기능이 필요합니다(App 기능 선언참조).

속성

DisplayName

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

EnclosingRegionName

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

EstimatedSizeInBytes

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

Status

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

메서드

FindPackagesAsync(Geopoint)

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

FindPackagesInBoundingBoxAsync(GeoboundingBox)

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

FindPackagesInGeocircleAsync(Geocircle)

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

RequestStartDownloadAsync()

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

이벤트

StatusChanged

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

적용 대상