バージョン

異なるレイヤー タイプを表示

このセクションは、xamMap コントロールに異なるレイヤー タイプのサポートされる地図画像を表示する方法に関する指示を提供します。

Open Street Maps

OpenStreetMapTileSource は、Open Street Maps ソースの地図画像で道路を表示します。

  • 道路表示

XamMap Display Different Layer Types 02.png

XAML の場合:

<igMap:XamMap x:Name="webMap" MapProjectionType="SphericalMercator" >
    <igMap:XamMap.MapTileSource >
        <igMap:OpenStreetMapTileSource />
    </igMap:XamMap.MapTileSource>
</igMap:XamMap>

Visual Basic の場合:

Dim geoImagery As New Infragistics.Controls.Maps.OpenStreetMapTileSource()
Dim webMap As Infragistics.Controls.Maps.XamMap = New Infragistics.Controls.Maps.XamMap()
webMap.MapTileSource = geoImagery

C# の場合:

Infragistics.Controls.Maps.OpenStreetMapTileSource geoImagery = new Infragistics.Controls.Maps.OpenStreetMapTileSource();
Infragistics.Controls.Maps.XamMap webMap = new Infragistics.Controls.Maps.XamMap();
webMap.MapTileSource = geoImagery;

Bing Maps

BingMapsTileSource は航空、ラベル付き航空、道路の 3 つのマップを表示します。以下のコード例は、Web サービスを使用して BingMaps 地図画像を表示する方法を知っていること、また Web サービスにアクセスするために有効なネットワーク認証を提供することによってトークン変数が作成されたことを前提とします。

  • 航空表示

XamMap Display Different Layer Types 03.png

ImageryMetadataRequest オブジェクトの MapStyle プロパティを MapStyle.Aerial に変更します。

Visual Basic の場合:

Public Sub New()
    InitializeComponent()
    Dim mapUriRequest As New BingImageryServiceReference.ImageryMetadataRequest()
    mapUriRequest.Credentials = New BingImageryServiceReference.Credentials()
    mapUriRequest.Credentials.ApplicationId = "BING_MAPS_SECRET_KEY"
    ' 地理画像ソースのレイヤー タイプを設定します
    mapUriRequest.Style = BingImageryServiceReference.MapStyle.Aerial
    ' 地図画像要求を処理するための非同期の Bing Maps サービスを作成します
    Dim imageryService As New BingImageryServiceReference.ImageryServiceClient("BasicHttpBinding_IImageryService")
    Dim imageryService As New BingImageryServiceReference.ImageryService()
    AddHandler imageryService.GetImageryMetadataCompleted, AddressOf imageryService_GetImageryMetadataCompleted
    imageryService.GetImageryMetadataAsync(mapUriRequest)
End Sub
Private Sub imageryService_GetImageryMetadataCompleted(ByVal sender As Object, ByVal e As BingImageryServiceReference.GetImageryMetadataCompletedEventArgs)
    Dim result As BingImageryServiceReference.ImageryMetadataResult = e.Result.Results(0)
    Dim source As New Infragistics.Controls.Maps.BingMapsTileSource()
    source.TilePath = result.ImageUri
    source.SubDomains = New ObservableCollection(Of String)(result.ImageUriSubdomains)
    xamMap.MapTileSource = source
End Sub

C# の場合:

public MainPage()
{
    InitializeComponent();
    BingImageryServiceReference.ImageryMetadataRequest mapUriRequest = new BingImageryServiceReference.ImageryMetadataRequest();
    mapUriRequest.Credentials = new BingImageryServiceReference.Credentials();
    mapUriRequest.Credentials.ApplicationId = "BING_MAPS_SECRET_KEY";
    // 地理画像ソースのレイヤー タイプを設定します
    mapUriRequest.Style = BingImageryServiceReference.MapStyle.Aerial;
    // 地図画像要求を処理するための非同期の Bing Maps サービスを作成します
    BingImageryServiceReference.ImageryServiceClient imageryService = new BingImageryServiceReference.ImageryServiceClient("BasicHttpBinding_IImageryService");
    BingImageryServiceReference.ImageryService imageryService = new BingImageryServiceReference.ImageryService();
    imageryService.GetImageryMetadataCompleted += imageryService_GetImageryMetadataCompleted;
    imageryService.GetImageryMetadataAsync(mapUriRequest);
}
void imageryService_GetImageryMetadataCompleted(object sender, BingImageryServiceReference.GetImageryMetadataCompletedEventArgs e)
{
    BingImageryServiceReference.ImageryMetadataResult result = e.Result.Results[0];
    xamMap.MapTileSource = newInfragistics.Controls.Maps.BingMapsTileSource()
    {
         TilePath = result.ImageUri,
         SubDomains = new ObservableCollection<string>(result.ImageUriSubdomains)
    };
}
  • ラベル付き航空表示

XamMap Display Different Layer Types 04.png

ImageryMetadataRequest オブジェクトの MapStyle プロパティを MapStyle.AerialWithLabels に変更します。

Visual Basic の場合:

Public Sub New()
    InitializeComponent()
    Dim mapUriRequest As New BingImageryServiceReference.ImageryMetadataRequest()
    mapUriRequest.Credentials = New BingImageryServiceReference.Credentials()
    mapUriRequest.Credentials.ApplicationId = "BING_MAPS_SECRET_KEY"
    ' 地理画像ソースのレイヤー タイプを設定します
    mapUriRequest.Style = BingImageryServiceReference.MapStyle.AerialWithLabels
    ' 地図画像要求を処理するための非同期の Bing Maps サービスを作成します
    Dim imageryService As New BingImageryServiceReference.ImageryServiceClient("BasicHttpBinding_IImageryService")
    Dim imageryService As New BingImageryServiceReference.ImageryService()
    AddHandler imageryService.GetImageryMetadataCompleted, AddressOf imageryService_GetImageryMetadataCompleted
    imageryService.GetImageryMetadataAsync(mapUriRequest)
End Sub
Private Sub imageryService_GetImageryMetadataCompleted(ByVal sender As Object, ByVal e As BingImageryServiceReference.GetImageryMetadataCompletedEventArgs)
    Dim result As BingImageryServiceReference.ImageryMetadataResult = e.Result.Results(0)
    Dim source As New Infragistics.Controls.Maps.BingMapsTileSource()
    source.TilePath = result.ImageUri
    source.SubDomains = New ObservableCollection(Of String)(result.ImageUriSubdomains)
    xamMap.MapTileSource = source
End Sub

C# の場合:

public MainPage()
{
    InitializeComponent();
    BingImageryServiceReference.ImageryMetadataRequest mapUriRequest = new BingImageryServiceReference.ImageryMetadataRequest();
    mapUriRequest.Credentials = new BingImageryServiceReference.Credentials();
    mapUriRequest.Credentials.ApplicationId = "BING_MAPS_SECRET_KEY";
    // 地理画像ソースのレイヤー タイプを設定します
    mapUriRequest.Style = BingImageryServiceReference.MapStyle.AerialWithLabels;
    // 地図画像要求を処理するための非同期の Bing Maps サービスを作成します
    BingImageryServiceReference.ImageryServiceClient imageryService = new BingImageryServiceReference.ImageryServiceClient("BasicHttpBinding_IImageryService");
    BingImageryServiceReference.ImageryService imageryService = new BingImageryServiceReference.ImageryService();
    imageryService.GetImageryMetadataCompleted += imageryService_GetImageryMetadataCompleted;
    imageryService.GetImageryMetadataAsync(mapUriRequest);
}
void imageryService_GetImageryMetadataCompleted(object sender, BingImageryServiceReference.GetImageryMetadataCompletedEventArgs e)
{
    BingImageryServiceReference.ImageryMetadataResult result = e.Result.Results[0];
    xamMap.MapTileSource = newInfragistics.Controls.Maps.BingMapsTileSource()
    {
         TilePath = result.ImageUri,
         SubDomains = new ObservableCollection<string>(result.ImageUriSubdomains)
    };
}
  • 道路表示

XamMap Display Different Layer Types 05.png

ImageryMetadataRequest オブジェクトの MapStyle プロパティを MapStyle.Road に変更します。

Visual Basic の場合:

Public Sub New()
    InitializeComponent()
    Dim mapUriRequest As New BingImageryServiceReference.ImageryMetadataRequest()
    mapUriRequest.Credentials = New BingImageryServiceReference.Credentials()
    mapUriRequest.Credentials.ApplicationId = "BING_MAPS_SECRET_KEY"
    ' 地理画像ソースのレイヤー タイプを設定します
    mapUriRequest.Style = BingImageryServiceReference.MapStyle.Road
    ' 地図画像要求を処理するための非同期の Bing Maps サービスを作成します
    Dim imageryService As New BingImageryServiceReference.ImageryServiceClient("BasicHttpBinding_IImageryService")
    Dim imageryService As New BingImageryServiceReference.ImageryService()
    AddHandler imageryService.GetImageryMetadataCompleted, AddressOf imageryService_GetImageryMetadataCompleted
    imageryService.GetImageryMetadataAsync(mapUriRequest)
End Sub
Private Sub imageryService_GetImageryMetadataCompleted(ByVal sender As Object, ByVal e As BingImageryServiceReference.GetImageryMetadataCompletedEventArgs)
    Dim result As BingImageryServiceReference.ImageryMetadataResult = e.Result.Results(0)
    Dim source As New Infragistics.Controls.Maps.BingMapsTileSource()
    source.TilePath = result.ImageUri
    source.SubDomains = New ObservableCollection(Of String)(result.ImageUriSubdomains)
    xamMap.MapTileSource = source
End Sub

C# の場合:

public MainPage()
{
    InitializeComponent();
    BingImageryServiceReference.ImageryMetadataRequest mapUriRequest = new BingImageryServiceReference.ImageryMetadataRequest();
    mapUriRequest.Credentials = new BingImageryServiceReference.Credentials();
    mapUriRequest.Credentials.ApplicationId = "BING_MAPS_SECRET_KEY";
    // 地理画像ソースのレイヤー タイプを設定します
    mapUriRequest.Style = BingImageryServiceReference.MapStyle.Road;
    // 地図画像要求を処理するための非同期の Bing Maps サービスを作成します
    BingImageryServiceReference.ImageryServiceClient imageryService = new BingImageryServiceReference.ImageryServiceClient("BasicHttpBinding_IImageryService");
    BingImageryServiceReference.ImageryService imageryService = new BingImageryServiceReference.ImageryService();
    imageryService.GetImageryMetadataCompleted += imageryService_GetImageryMetadataCompleted;
    imageryService.GetImageryMetadataAsync(mapUriRequest);
}
void imageryService_GetImageryMetadataCompleted(object sender, BingImageryServiceReference.GetImageryMetadataCompletedEventArgs e)
{
    BingImageryServiceReference.ImageryMetadataResult result = e.Result.Results[0];
    xamMap.MapTileSource = newInfragistics.Controls.Maps.BingMapsTileSource()
    {
         TilePath = result.ImageUri,
         SubDomains = new ObservableCollection<string>(result.ImageUriSubdomains)
    };
}