Maps for ASP.NET Web Forms
仮想レイヤ
主な機能 > 仮想レイヤ

仮想レイヤは、仮想化と非同期データロードをサポートしてマップ上に要素を表示します。一度に表示する要素が多くない場合は、これを使用して、無制限の数の要素を表示できます。

マップ空間の分割は、MapSliceC1VirtualLayer.Slicesコレクションを使用して定義されます。各マップスライスには、その区分の最小ズームレベルが定義され、あるスライスの最大ズームレベルが次のスライスの最小ズームレベルになります。したがって、最後のスライスの最大ズームレベルは、マップの最大ズームレベルになります。さらに、各スライスは、緯度/経度のグリッドに分割されます。

例として次のレイヤを紹介します。

ソースビュー
コードのコピー
 <c1:C1VirtualLayer>
      <Slices>
          <c1:MapSlice LatitudeSlices="2" LongitudeSlices="2" Zoom="5" />
          <c1:MapSlice LatitudeSlices="4" LongitudeSlices="4" Zoom="10" />
       </Slices>
</c1:C1VirtualLayer>

ここには、ズーム5〜10とズーム10〜最大ズームの2つのスライスがあります。ズーム値が1つのスライスから別のスライスに移動すると、仮想レイヤはそのスライスのソースからデータを要求します。また、最初のスライスは緯度/経度で2×2に分割されています。つまり、マップは4つの領域に分割され、レイヤは現在表示されている領域のデータのみを要求します。2番目のスライスが16の領域に分割されているのは、ズーム値が大きくなるほど多数に分割した方がパフォーマンスが向上するためです。

Requestメソッドは、マップ空間の1つの領域をパラメータとして受け取るほか、返される項目のコレクションを受け取ります。この実装は最初に、要求された最小ズームがアプリケーションパラメータより小さいかどうかをチェックし、小さい場合は何もしません。そうでない場合は、Webサービスを呼び出してデータを取得します。

関連トピック