このセクションは、xamMap コントロールに異なるレイヤー タイプのサポートされる地図画像を表示する方法に関する指示を提供します。
OpenStreetMapTileSource は、Open Street Maps ソースの地図画像で道路を表示します。
道路表示
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;
BingMapsTileSource は航空、ラベル付き航空、道路の 3 つのマップを表示します。以下のコード例は、Web サービスを使用して BingMaps 地図画像を表示する方法を知っていること、また Web サービスにアクセスするために有効なネットワーク認証を提供することによってトークン変数が作成されたことを前提とします。
航空表示
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)
};
}
ラベル付き航空表示
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)
};
}
道路表示
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)
};
}