PowerTools ActiveReports for .NET 9.0J > ActiveReportsユーザーガイド > 基本操作 > ページレポート/RDLレポートの基本操作 > レポートコントロールとデータ領域の操作 > Mapの操作 > レイヤーの操作 > タイルレイヤー > カスタムタイルプロバイダーの追加 |
IMapTileProviderおよびIMapTileインタフェースと一部修正を加えたGrapecity.ActiveReports.configファイルを使用して、Mapコントロールにカスタムタイルプロバイダを追加し、構成できます。カスタムタイルプロバイダをセットアップする手順を以下に示します。
Visual Basic
Visual Basicコード (クラスの一番上に貼り付けます) |
コードのコピー
|
---|---|
Imports System Imports System.Collections.Specialized Imports GrapeCity.ActiveReports.Extensibility.Rendering.Components.Map |
Visual Basicコード (Importsステートメントの下に貼り付けます) |
コードのコピー
|
---|---|
Public Class MyTileProvider Implements IMapTileProvider ' タイルプロバイダの設定(ApiKey、Language、Styleなど) Public Property Settings() As NameValueCollection Get Return m_Settings End Get Private Set m_Settings = Value End Set End Property Private m_Settings As NameValueCollection ' 指定された座標と詳細化レベルによってタイルのインスタンスを取得します Public Sub GetTile(key As MapTileKey, success As Action(Of IMapTile), [error] As Action(Of Exception)) End Sub End Class |
C#
C#コード (クラスの一番上に貼り付けます) |
コードのコピー
|
---|---|
using System; using System.Collections.Specialized; using GrapeCity.ActiveReports.Extensibility.Rendering.Components.Map; |
C#コード (Usingステートメントの下に貼り付けます) |
コードのコピー
|
---|---|
public class MyTileProvider : IMapTileProvider { // タイルプロバイダの設定(ApiKey、Language、Styleなど) public NameValueCollection Settings { get; private set; } // 指定された座標と詳細化レベルによってタイルのインスタンスを取得します public void GetTile(MapTileKey key, Action<IMapTile> success, Action<Exception> error) { } } |
メモ: タイルサーバーで必要とされる設定や詳細に基づいて、タイル画像を提供する関数や機能をこのクラスに追加します。このクラスはカスタムタイルサーバーとのインタフェースとして機能します。 |
Visual Basic
Visual Basicコード (クラスの一番上に貼り付けます) |
コードのコピー
|
---|---|
Imports System.IO Imports GrapeCity.ActiveReports.Extensibility.Rendering.Components.Map |
Visual Basicコード (Importsステートメントの下に貼り付けます) |
コードのコピー
|
---|---|
Public Class MyMapTile Implements IMapTile ' タイル識別子を取得します。 Public Property Id() As MapTileKey Get Return m_Id End Get Private Set m_Id = Value End Set End Property Private m_Id As MapTileKey ' タイル画像ストリームを取得します。 Public Property Image() As Stream Get Return m_Image End Get Private Set m_Image = Value End Set End Property Private m_Image As Stream End Class |
C#
C#コード (クラスの一番上に貼り付けます) |
コードのコピー
|
---|---|
using System.IO; using GrapeCity.ActiveReports.Extensibility.Rendering.Components.Map; |
C#コード (Usingステートメントの下に貼り付けます) |
コードのコピー
|
---|---|
public class MyMapTile : IMapTile { // タイル識別子を取得します。 public MapTileKey Id { get; private set; } // タイル画像ストリームを取得します。 public Stream Image { get; private set; } } |
<Configuration></Configuration>タグ内に貼り付けます。 |
コードのコピー
|
---|---|
<!-- カスタムタイルプロバイダを登録して構成します。 --> <MapTileProvider Name="Custom" DisplayName="Custom Maps" type="YourTileProvider, AssemblyName, Version = x.x.x.x"> <Settings> <add key="ApiKey" value="API Key" /> </Settings> </MapTileProvider> |
メモ: Viewerコントロール内のマップにタイルレイヤーを表示するためには、Grapecity.ActiveReports.configファイルをプロジェクトのDebugフォルダーに保持し、さらにこのconfigファイルをVisual Studioプロジェクトに追加する必要があります。 |