ActiveReports for .NET 18.0J
カスタムタイルプロバイダーの追加
ActiveReportsユーザーガイド > 基本操作 > ページレポート/RDLレポートの基本操作 > レポートコントロールの操作 > Mapの操作 > レイヤーの操作 > タイルレイヤー > カスタムタイルプロバイダーの追加

IMapTileProviderおよびIMapTileインタフェースと一部修正を加えたGrapecity.ActiveReports.configファイルを使用して、Map(Professional)コントロールにカスタムタイルプロバイダを追加し、構成することができます。カスタムタイルプロバイダをセットアップする手順を以下に示します。

  1. 新しいクラス 項目をVisual Studioのクラスライブラリプロジェクトに追加し、名前をMyTileProvider に変更します。以下のようなコードを追加して、 IMapTileProvider インタフェースを実装します。

    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)
        {
        }
    }                                
    
    メモ: タイルサーバーで必要とされる設定や詳細に基づいて、タイル画像を提供する関数や機能をこのクラスに追加します。このクラスはカスタムタイルサーバーとのインタフェースとして機能します。
  2. 別のクラス項目をプロジェクトに追加し、名前をMyMapTileに変更します。以下のようなコードを追加して、IMapTileインタフェースを実装します。

    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; }
    }
                                                    
    
  3. Visual Studioプロジェクトをビルドし、プロジェクトのBin>Debugフォルダへ移動してDLLファイルをコピーします。
  4. Grapecity.ActiveReports.configファイルをメモ帳で開きます。
  5. 以下のようなコードを<Configuration>タグと</Configuration>タグの間に貼り付けます。
    <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>
    
  6. 保存してメモ帳を閉じます。
  7. 製品インストールフォルダへ移動し、コピーしたDLLとGrapecity.ActiveReports.configファイルをGrapecity.ActiveReports.Designer.exeセットアップファイルと同じフォルダに配置します。
  8. [スタート]メニューから、[ActiveReports for .NET 18.0J デザイナ]を実行します。
  9. Mapコントロールを含むレポートを作成します。詳細については、「地図を含むレポート」を参照してください。
  10. Mapコントロールにタイルレイヤーを追加し、上記の手順で作成したカスタムタイルプロバイダを選択します。詳細については、「タイルレイヤー」を参照してください。
    メモ: Viewerコントロール内のマップにタイルレイヤーを表示するためには、Grapecity.ActiveReports.configファイルをプロジェクトのDebugフォルダに保持し、さらにこのconfigファイルをVisual Studioプロジェクトに追加する必要があります。