정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Windows Phone 8에서 지도 컨트롤을 페이지에 추가하는 방법

2014-06-18

적용 대상: Windows Phone 8 및 Windows Phone Silverlight 8.1만

 

이 항목에서는 Windows Phone 8 프로젝트에 Map 컨트롤을 추가하는 다양한 방법을 설명합니다. Map 컨트롤은 Windows Phone SDK 8.0 에 있는 라이브러리의 일부입니다. Map 컨트롤은 메모리의 주요 컨트롤이 아니므로 먼저 올바르게 참조해야 사용할 수 있습니다. 또한 이 컨트롤을 프로젝트에 추가하기 전에 ID_Cap_Map 기능을 추가해야 합니다.

팁팁:

이 항목에서는 앱 안에 지도를 표시하는 코드를 작성하는 방법을 설명합니다. 단순히 지도를 표시하려는 경우에는 기본 제공 지도 앱을 시작하는 지도 작업을 사용할 수도 있습니다. 자세한 내용은 Windows Phone 8의 지도 작업을 사용하는 방법을 참조하세요.

Icon to indicate an SDK sample

이 항목에서 설명한 몇 가지 작업을 나타내는 샘플을 보려면 간단한 지도 컨트롤 샘플을 다운로드하세요.

Pushpin을 포함하여 Maps API의 유용한 확장 기능이 필요하면, Windows Phone Toolkit를 다운로드하세요.

이 항목에는 다음 단원이 포함되어 있습니다.

 

Map 컨트롤을 추가하기 전에 ID_Cap_Map 기능을 추가해야 합니다.

ID_Cap_Map 기능을 추가하려면

  1. Visual Studio 2012에서 이름이 MapApplication인 Windows Phone 8 프로젝트를 새로 만듭니다.

  2. MapApplication 프로젝트에서 속성 폴더를 클릭한 다음 WMAppManifest.xml 파일을 두 번 클릭합니다.

  3. WMAppManifest.xml 파일에서 기능 탭을 클릭합니다.

  4. 기능 테이블에서 ID_Cap_Map 기능을 선택합니다.

Map 컨트롤을 추가하고 올바르게 참조하는 가장 쉬운 방법은 도구 상자에서 XAML 디자이너나 XAML 뷰로 끌어 놓는 것입니다.

도구 상자에서 지도 컨트롤을 추가하려면

  1. MapApplication 프로젝트에서 도구 상자를 열고 모든 Windows Phone 컨트롤을 엽니다.

  2. 도구 상자에서 Map 컨트롤을 XAML 또는 디자이너 뷰로 끌어 옵니다.

    Visual Studio가 다음 작업을 자동으로 수행합니다.

    • Microsoft.Phone.Maps 어셈블리에 대한 참조를 추가합니다.

    • XAML 페이지의 <phone:PhoneApplicationPage> 시작 태그에서 SDK 네임스페이스에 대한 다음 XML 네임스페이스 선언을 추가합니다.

      xmlns:Controls="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"
      
    • 컨트롤을 XAML 뷰에 끌어 오는 경우 다음 XAML을 페이지에 추가합니다.

      <Controls:Map />

      -또는-

    • 컨트롤을 디자인 뷰에 끌어 오는 경우 다음 XAML을 추가합니다.

      <Controls:Map HorizontalAlignment="Left" Margin="158,265,0,0" VerticalAlignment="Top"/>
      

XAML을 사용하여 수동으로 Map 컨트롤을 추가하려면 먼저 Microsoft.Phone.Maps 어셈블리에 대한 참조를 추가한 다음, XML 네임스페이스를 어셈블리에 매핑해야 합니다.

Visual Studio에서 Microsoft.Phone.Maps 어셈블리에 대한 참조를 추가하려면

  1. MapApplication 프로젝트에서 프로젝트 메뉴를 마우스 오른쪽 버튼으로 클릭한 다음 참조 추가를 선택합니다.

  2. 참조 관리자 대화 상자에서 찾아보기를 클릭합니다.

  3. C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0으로 이동합니다.

  4. Microsoft.Phone.Maps.dll 파일을 두 번 클릭합니다.

  5. 확인을 클릭합니다.

XML 네임스페이스 매핑을 추가하려면

  1. MainPage.xaml을 엽니다.

  2. XAML 페이지의 <phone:PhoneApplicationPage> 시작 태그에서 SDK 네임스페이스에 대한 다음 XML 네임스페이스 선언을 추가합니다.

    xmlns:Controls="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"
    

XAML을 사용하여 지도 컨트롤을 추가하려면

  1. Mainpage.xaml을 엽니다.

  2. ContentPanel 표에 다음 XAML을 추가합니다.

    <Controls:Map></Controls:Map>
    

Microsoft.Phone.Maps 어셈블리에 대한 참조가 있으면 코드를 사용하여 Map 컨트롤을 추가할 수 있습니다. 다음 예제에서는 이름이 MyMap인 Map 컨트롤을 만들어서 ContentPanel 표에 추가합니다.

코드를 사용하여 지도 컨트롤을 추가하려면

  1. MainPage.xaml.cs를 엽니다.

  2. 다음 using 문을 추가합니다.

    Using Microsoft.Phone.Maps.Controls;
    
  3. 다음 코드를 추가합니다.

    
    public MainPage()
    {
       InitializeComponent();
       Map MyMap = new Map();
       ContentPanel.Children.Add(MyMap);
    }
    

지도 컨트롤을 사용하는 앱을 게시하려면 먼저 Windows Phone 개발자 센터 에서 ApplicationIdAuthenticationToken을 가져오고 값을 코드에 추가해야 합니다. 가져오는 값은 해당 값을 요청한 개별 앱과 관련이 있습니다.

개발자 센터 에서 ApplicationID 및 AuthenticationToken을 가져오려면

  1. 앱을 완료한 후 앱 제출 프로세스를 시작합니다.

  2. 앱 제출 페이지에서 지도 서비스를 클릭합니다.

    지도 서비스 페이지가 열립니다.

  3. 페이지에서 토큰 가져오기를 클릭합니다.

    새로운 ApplicationIDAuthenticationToken이 동일한 페이지에 표시됩니다.

  4. 다음 절차에 설명된 대로 값을 복사하여 코드에 붙여 넣습니다.

  5. 새 코드로 앱을 다시 빌드하고 업데이트된 복사본을 스토어 에 업로드합니다.

첫 번째 지도 컨트롤이 인스턴스화되지는 않았지만 로드된 후 ApplicationIdAuthenticationToken 속성의 값을 모두 설정해야 합니다. 앱에서 지도 컨트롤의 모든 인스턴스를 삭제한 다음 새 인스턴스를 만드는 경우 이러한 속성을 다시 설정해야 합니다.

코드에서 ApplicationID 및 AuthenticationToken을 지정하려면

  1. Visual Studio 의 코드에서 지도 컨트롤의 Loaded 이벤트에 대한 이벤트 처리기를 만듭니다.

  2. 다음 코드에 표시된 대로 개발자 센터 에서 가져온 각 값을 복사하여 해당 속성에 할당합니다.

            private void myMapControl_Loaded(object sender, RoutedEventArgs e)
            {
                Microsoft.Phone.Maps.MapsSettings.ApplicationContext.ApplicationId = "ApplicationID";
                Microsoft.Phone.Maps.MapsSettings.ApplicationContext.AuthenticationToken = "AuthenticationToken";
            }
    
    

지도 서비스의 지속적인 사용에는 사용 약관이 적용됩니다. 이러한 서비스 중 일부를 Nokia에서 공급하므로 Microsoft에서 지도 서비스를 사용하는 개발자 ID를 Nokia와 공유할 수도 있습니다.

표시: