2009年11月22日日曜日

OpenLayers 30b OpenLayers.Renderer と OpenLayers.Geometry.Collection

Class Documents を訳してみました。


OpenLayers.Renderer

これは、すべての Renderer のための基本クラスです。

これは、ポールスペンサー、ベルティルシャピュイによって書かれた合併コードに基づいています。これは主に、技術に固有のサブクラスで実装される仮想関数で構成され、いくつかの汎用的なコードもあります。

ここで実装されている関数は、キャッシュ'解像度'の値と同じように、単にサイズと範囲変数を維持します。

正しくキャッシュシステムを使用するために、直接 this.resolution にアクセスする代わりに、すべてのサブクラスが getResolution()を使用すべきであることをユーザーは注意してください。


openlayers_labeledFeature.html の53行めあたり

var renderer = OpenLayers.Util.getParameters(window.location.href).renderer;
renderer = (renderer) ? [renderer] : OpenLayers.Layer.Vector.prototype.renderers;

と 73行めあたり

renderers: renderer

をコメントアウトしても地図の表示はできました。


OpenLayers.Geometry.Collection

コレクションは、実際にこの様になっています。異なるジオメトリのコレクションです。これらは、ローカルパラメータのコンポーネントに(これは、コンストラクタにパラメータとして渡されます)格納されます。

新規ジオメトリはコレクションに追加されるとき、クローンではありません。ジオメトリを削除するとき、それは reference によって指定される必要があります。(すなわち、削除されるためには、正確な座標で渡す必要があります)。

getAreaとgetLength関数は、ここでは単にそれぞれの地域と長さを合計するコンポーネントを繰り返します。

OpenLayers.Geometry.Collection コンストラクタを用いて新しいインスタンスを作成します。

0 件のコメント: