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

Windows Phone 8에서 UIElement를 지도 컨트롤에 추가하는 방법

2014-06-18

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

 

이 항목에서는 이미지, 도형, 컨트롤 같은 UIElement를 Windows Phone 8 의 지도에 추가하는 방법을 설명합니다.

Icon to indicate an SDK sample

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

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

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

 

이 섹션에서는 RectanglePolygon을 포함하는 Grid 요소를 Map에 추가합니다.

지도의 위치에 직사각형을 추가하려면

  1. Visual Studio 에서 MapsApplication이라는 새 Windows Phone 8 프로젝트를 만듭니다.

  2. MainPage.xaml에서 LayoutRoot라는 그리드를 다음 코드로 바꿉니다. 이렇게 하면 MyMap이라는 Map 컨트롤이 만들어집니다. Map 컨트롤 추가에 대한 자세한 내용은 Windows Phone 8에서 지도 컨트롤을 페이지에 추가하는 방법을 참조하세요.

    
    <!--LayoutRoot is the root grid where all page content is placed-->
        <Grid x:Name="LayoutRoot" Background="Transparent">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
    
            <!--TitlePanel contains the name of the application and page title-->
            <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
                <TextBlock x:Name="ApplicationTitle" Text="Maps" Style="{StaticResource PhoneTextNormalStyle}"/>
                <TextBlock x:Name="PageTitle" Text="MapOverlay" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
            </StackPanel>
    
            <!--ContentPanel - place additional content here-->
            <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
                <maps:Map x:Name="MyMap" Center="47.6097, -122.3331" ZoomLevel="10" />
            </Grid>
        </Grid>
    
  3. MainPage.xaml.cs에 다음 using 지시문을 추가합니다.

    
    using Microsoft.Phone.Maps.Controls;
    using System.Device.Location;
    
  4. MainPage() 생성자에 다음 코드를 추가하여 RectanglePolygon을 포함하는 Grid 요소를 만듭니다.

    
    //Creating a Grid element.
    
    Grid MyGrid = new Grid();
    MyGrid.RowDefinitions.Add(new RowDefinition());
    MyGrid.RowDefinitions.Add(new RowDefinition());
    MyGrid.Background = new SolidColorBrush(Colors.Transparent);
    
    //Creating a Rectangle
    Rectangle MyRectangle = new Rectangle();
    MyRectangle.Fill = new SolidColorBrush(Colors.Black);
    MyRectangle.Height = 20;
    MyRectangle.Width = 20;
    MyRectangle.SetValue(Grid.RowProperty, 0);
    MyRectangle.SetValue(Grid.ColumnProperty, 0);
    
    //Adding the Rectangle to the Grid
    MyGrid.Children.Add(MyRectangle);
    
    //Creating a Polygon
    Polygon MyPolygon = new Polygon();
    MyPolygon.Points.Add(new Point(2,0));
    MyPolygon.Points.Add(new Point(22,0));
    MyPolygon.Points.Add(new Point(2,40));
    MyPolygon.Stroke = new SolidColorBrush(Colors.Black);
    MyPolygon.Fill = new SolidColorBrush(Colors.Black);
    MyPolygon.SetValue(Grid.RowProperty, 1);
    MyPolygon.SetValue(Grid.ColumnProperty, 0);
    
    //Adding the Polygon to the Grid
    MyGrid.Children.Add(MyPolygon);
    
    
    
  5. MainPage() 생성자에서 MapOverlay를 만들고 Grid 요소를 MapOverlay에 추가합니다.

    
    //Creating a MapOverlay and adding the Grid to it.
    MapOverlay MyOverlay = new MapOverlay();
    MyOverlay.Content = MyGrid;
    
    
    
  6. MyOverlayGeoCoordinate 속성을 설정하여 지도에서 지정된 지리 좌표 위치에 표 요소를 배치합니다.

    MyOverlay.GeoCoordinate = new GeoCoordinate(47.6097, -122.3331);
    
    
  7. MyOverlayPositionOrigin 속성을 설정하여 지도에 고정할 직사각형의 위치를 지정합니다.

    MyOverlay.PositionOrigin = new Point(0,0.5);
    
    
  8. MyLayer라는 MapLayer를 만들고 MyOverlay를 추가합니다.

    
    //Creating a MapLayer and adding the MapOverlay to it
    MapLayer MyLayer = new MapLayer();
    MyLayer.Add(MyOverlay);
    MyMap.Layers.Add(MyLayer);
    
    

표시: