タイルの高さの計算方法

タイルの高さは、タイルがマップ境界と同じアスペクト比のタイルになるよう、マップ境界とタイルの幅から計算されます。

タイルの高さは、次の式で計算されます。

tileHeight = (boundsHeight ÷ boundsWidth) × tileWidth

マップの定義時には 1 つの制約があります。それは、計算されるタイルの高さが整数 (integer) でなければならないということです。タイルの高さと幅はピクセル単位で計算されるので、これらの値を 1 ピクセル未満として表示することはできません。

例えば、WGS84 で境界 (-180, -90, 180, 90) を持つマップのアスペクト比 (幅対高さ) は 2:1 です。したがって、計算される tileHeighttileWidth の半分です。tileWidth パラメータを 256 として定義した場合、tileHeight は 128 になります。これは許容される tileHeight 値です。しかし、WGS84 で境界 (-180, -90, 90, 0) を持つマップを定義した場合、アスペクト比は 3:1 になります。tileWidth の 256 をベースにして tileHeight を計算すると、tileHeight は 85.3333333 になります。これは許容される tileHeight 値ではないので、Map Tiling Service によって表示されません。Map Tiling Service がホスティングするマップに tileHeight の計算が無効になるような tileWidth パラメータと bounds パラメータが設定されている場合、そのマップは Map Tiling インターフェイスの getMaps メソッド呼び出しで返される、使用可能なマップの一覧に表示されません。