Serie "Desarrollo de aplicación de mapas de escritorio"Artículo número3.
Número3, en este artículo,Número2del artículo anterior,en el proyecto Visual Studio creado, implementaremos la función para mostrar el mapa web creada en el primer artículo.Web mapa.
Implementación de visualización del mapa
En el proyecto
Visual Studio creado en el artículo número 2, implementaremos la función para mostrar el mapa web. El código de ejemplo para la función presentada en este artículo también está disponible en Esri Japón GitHub. 1. Reemplace el constructor MapViewModel() en MapViewModel.cs como se muestra a continuación. MapViewModel.cs
public MapViewModel()
{ _ = SetupMap();}
2. Agregue la función
SetupMap
a la clase
MapViewModel.
El argumento del método PortalItem.CreateAsync() debe ser el ID del mapa web. Aquí se especifica el ID del mapa web de ejemplo, pero si ha creado su propio mapa web, reemplace el ID correspondiente.
MapViewModel.cs
private async Task SetupMap(){ // Obtener el mapa usando el ID del mapa web ArcGISPortal portal = await ArcGISPortal.CreateAsync(); PortalItem mapItem = await PortalItem.CreateAsync(portal, "3cbd757aede647869515251231a27e08"); // Asignar el mapa web a la propiedad Map del MapView Map = new Map(mapItem); // Cargar el mapa await Map.LoadAsync();} 3. Para acceder al mapa base y al servicio de geocodificación de ArcGIS Platform (que se utilizarán en pasos futuros), es necesario configurar la clave API.Para entender el papel de la clave API y cómo crearla, consulte "Obtener clave API". App.xaml.csArcGISRuntimeEnvironment.Initialize(config => config // .UseLicense("[Su clave de licencia ArcGIS Maps SDK]") .UseApiKey("[Configure aquí la clave API obtenida]") .ConfigureAuthentication(auth => auth
.UseDefaultChallengeHandler() // Usar el diálogo de autenticación predeterminado
を使用することで、ベースマップの地名ラベルを指定した特定の言語や、アプリを実行する OS のロケールの言語で表示することができます。
MapViewModel.cs
Map = new Map(mapItem);
// ベースマップ スタイルのパラメーターを作成する
var basemapStyleParameters = new BasemapStyleParameters()
{
// ベースマップの地名ラベルを OS のロケールの言語で表示する
LanguageStrategy = BasemapStyleLanguageStrategy.ApplicationLocale
};
// ベースマップのタイプ(ArcGISTopographic:地形図)とベースマップ スタイルのパラメーターを指定して、新しい Basemap オブジェクトを作成する
var localizedBasemap = new Basemap(BasemapStyle.ArcGISTopographic, basemapStyleParameters);
// Map の Basemap オブジェクトを新しく作成した Basemap オブジェクトに置き換える
Map.Basemap = localizedBasemap;
await Map.LoadAsync();
6. 再度アプリを実行して、マップが表示されるか確認します。ベースマップの地名ラベルが日本語(アプリを実行する OS のロケールの言語)で表示されています。
Tips:ベースマップのタイプ(BasemapStyle)は、地形図(ArcGISTopographic)の他にも、道路地図(ArcGISStreets)、衛星画像(ArcGISImagery)、OpenStreetMap(OSMStandard)なども使用できます。
第3弾「マップ表示」では Web マップを表示する方法を紹介してきました。次回、第4弾ではマップ操作機能の実装方法を紹介します。
関連リンク