iOS のカスタム アプリケーションでタイルのロードに時間がかかる場合に、以下のような黒い背景が見えてしまい、なかなか新しい範囲の地図が表示できない、ということはありませんか?
この問題の解決を手助けしてくれるのが AGSTiledLayer クラスに用意された bufferFactor プロパティです。
通常 AGSTiledLayer クラスを利用して地図を表示する際、タイルは端末の画面上で見える範囲だけを取得します。そのためタイルの読み込みに時間がかかる場合、地図の表示範囲外を見ようとしてスワイプすると、黒い背景が見えてしまうことがあります。
このプロパティを設定すると、端末の画面上で見える範囲だけでなく、見えない範囲(画面上見える範囲の周辺)もあらかじめ取得できるようになります。
設定値は実際に端末の画面上で見える範囲を「1.0」として設定します。例えばこのプロパティに「1.2」と設定した場合、見えない範囲のタイル 20% 分を含めた 120% 分のタイルを取得します。今画面に表示されている範囲から、画面に表示されていない範囲を見ようとスワイプしたときに、すでにタイルが取得できているので黒い背景が見えにくくなり、範囲外の地図がスムーズに表示できます。
ただし bufferFactor の設定値をむやみに大きく設定することは推奨されません。取得するタイルが多くなるにつれてメモリの消費量も多くなるため、パフォーマンスの低下を招く恐れがあります。開発中のアプリでパフォーマンスのテストを行い、最適な設定値を探してユーザー エクスペリエンスを向上しましょう。
※「1.0」以上「2.0」以下が有効な設定範囲のため、範囲外の値が設定された場合、この設定値は無視されます。
■関連リンク
米国 Esri Web ページ : ArcGIS for Developers -ArcGIS Runtime SDK for iOS-
ESRI ジャパン Web ページ : ArcGIS Runtime SDK for iOS