コンテンツにスキップ

任意タイルの追加

任意タイル追加機能をご利用いただく場合

任意タイルを描画する機能はオプション扱いとなります。
利用をご希望される場合は、営業担当もしくはサポートまでご連絡ください。

※任意タイルを利用する場合は、事前にその利用規約の確認や許諾が必要です。

このページでは以下の方法について説明しています。

  • 地図上に任意タイルを描画する方法
  • 地図上の任意タイルを削除する方法

対象クラス

対象関数

実装サンプル

こちらをご覧ください。

実装方法

実装手順

  1. 地図の初期化時点で利用する任意タイルのサーバ情報を設定します
  2. 地図に表示したいタイミングで、mapscript.value.AdditionTileConditionオブジェクトを生成します
  3. (1)で生成したオブジェクトをMap#setAdditionTileCondition()で追加します
    非表示にする場合は、Map#clearAdditionTileCondition()に対象のキー名を指定します
サンプルコード
<!DOCTYPE html>
<html lang="ja">
    <head>
        <meta charset="UTF-8">
        <title>任意タイルの追加</title>
        <!-- APIの呼び出し -->
        <script src="https://{HOST}/{CID}/v2/map_script?host={example.com}&signature={XXXXXXXXX}&request_code={YYYYYYYYY}"></script>
        <script>
            function getMap() {
                // (1)地図の初期化時点で利用する任意タイルのサーバ情報を設定します
                const tile = mapscript.types.AdditionTileServerInfo = {
                    requestUrl: 'https://XXXXXXXXX/{Z}/{X}/{Y}.png'
                };
                const center = new mapscript.value.LatLng(35.56060783, 139.67621635);
                const map = new mapscript.Map('{CID}', {
                    target: '#map',
                    center: center,
                    zoomLevel: 10,
                    options: {
                        additionTileOptions: {
                            serverInfoList: {
                                // 任意の文字列をキーとしサーバ情報を設定
                                // キー名は表示・非表示時にも利用するため定数として定義することを推奨
                                'flood': tile
                            }
                        }
                    }
                });

                // (2)地図に表示したいタイミングで、mapscript.value.AdditionTileConditionオブジェクトを生成
                const condition = new mapscript.value.AdditionTileCondition({
                    // 表示するズームレベル範囲。APIにより対応範囲が決まっているため仕様を確認
                    zoomRange: new mapscript.value.ZoomRange(2, 17),
                    // (Optional) レイヤーの不透明度(0以上1以下)
                    transparency: 0.6,
                    // (Optional) レイヤー描画優先度
                    priority: 2,
                });

                // (3) (1)で生成したオブジェクトをMap#setAdditionTileCondition()で追加
                // Conditionを設定し表示
                map.setAdditionTileCondition('flood', condition);

                // 非表示にする場合はキーを指定
                // こちらのコードで動作を確認する場合は以下の1行をコメントアウトの上ご利用ください
                map.clearAdditionTileCondition('flood');
            }
        </script>
    </head>
    <body onload="getMap()">
        <div id="map" style="height: 500px; width: 500px;"></div>
    </body>
</html>

オブジェクトを作成するときのパラメータについて

mapscript.value.AdditionTileCondition オブジェクトを作成する際 zoomRangeの指定は必須となりますが、他にもオプショナルで指定できるパラメータがあります。
詳しくはこちらをご覧ください。

関連ページ