「panel.js(5-geoext3.js)」は、マップを表示するための JavaScript ファイルです。
「5-geoext3.js」
Ext.require([ /** require( expressions, [fn], [scope] ) * Loads all classes by the given names and all their * direct dependencies; optionally executes the given * callback function when finishes, within the optional * scope. * 指定された名前とそのすべての直接依存によって、すべて * のクラスをロードします。任意の範囲内で、終了するとき * に任意で与えられたコールバック関数を実行します。 * (GeoExt doc[w/ext]) */
'GeoExt.component.Map', /** GeoExt.component.Map * The map component and a panel side by side * map component(マップコンポーネント)とパネルの位置関 * 係(並び)。 * (GeoExt doc[w/ext]) */
'GeoExt.data.store.LayersTree' /** GeoExt.data.store.LayersTree * A store that is synchronized with a * GeoExt.data.store.Layers. It can be used by an * Ext.tree.Panel. * GeoExt.data.store.Layers と同期される store。これは * Ext.tree.Panel によって使用することができます。 * (GeoExt doc[w/ext]) */
]);
var mapComponent, mapPanel, treePanel;
Ext.application({
/** Ext.app.Application
* Represents an Ext JS application, which is typically
* a single page app using a Viewport.
* An application consists of one or more Views. The
* behavior of a View is managed by its corresponding
* ViewController and ViewModel.
* Global activities are coordinated by Controllers
* which are ultimately instantiated by an instance
* of this (or a derived) class.
* 通常、ビューポートを使用して1つのページの app である
* ExtJS アプリケーションを表します。
* アプリケーションは、1つまたは複数の View で構成されて
* います。View の動作は、その対応する ViewController
* と ViewModel によって管理されます。
* グローバルな動作は、このインスタンス(または派生)
* クラスで最終的にインスタンス化されている Controller
* によって調整されます。(GeoExt doc[w/ext])
*/
name: 'BasicTree', /** name : String * The name of your application. This will also be the * namespace for your views, controllers models and * stores. Don't use spaces or special characters in * the name. Application name is mandatory. * アプリケーションの名前。これはまた、views、controllers * models と stores の名前空間になります。name には * スペースや特殊文字を使用しないでください。アプリケー * ション名は必須です。初期値は、''。 * (GeoExt doc[w/ext]) */
launch: function(){
/** launch( profile ) : Booleantemplate
* Called automatically when the page has completely
* loaded. This is an empty function that should be
* overridden by each application that needs to take
* action on page load.
* ページが完全にロードされたときに自動的に呼び出されます。
* これは、ページのロード時にアクションを実行する必要があ
* る各アプリケーションによって上書きされなければならない
* 空の関数です。(GeoExt doc[w/ext])
*/
var source1, source2, source3, layer1, layer2, layer3, group, olMap, treeStore;
source1 = new ol.source.MapQuest({layer: 'sat'});
/** ol.source.MapQuest
* Layer source for the MapQuest tile server.
* MapQuest タイルサーバのレイヤソース。(ol3 API
* 2 - ol3ex 23b - MapQuest example 2 参照)
*/
layer1 = new ol.layer.Tile({
/** ol.layer.Tile
* For layer sources that provide pre-rendered, tiled
* images in grids that are organized by zoom levels
* for specific resolutions.
* プリレンダリング(事前描画)を提供するレイヤソースの
* ための、特定の解像度でのズームレベルによって編成され
* ているグリッドのタイルイメージ。(ol3 API)
*/
source: source1, name: 'MapQuest Satellite' });
source2 = new ol.source.MapQuest({layer: 'osm'});
layer2 = new ol.layer.Tile({
source: source2,
name: 'MapQuest OSM'
});
source3 = new ol.source.MapQuest({layer: 'hyb'});
layer3 = new ol.layer.Tile({
source: source3,
name: 'MapQuest Hybrid',
visible: false
});
group = new ol.layer.Group({
/** ol.layer.Group
* A ol.Collection of layers that are handled together.
* A generic change event is triggered when the
* group/Collection changes.
* 同時に扱うレイヤの ol.Collection
* 一般的な change イベントは、グループ/コレクションを変更
* するときトリガされます。(ol3 API)
*/
layers: [layer1, layer2], visible: true });
olMap = new ol.Map({
layers: [group, layer3],
view: new ol.View({
center: [0, 0],
zoom: 2
})
});
mapComponent = Ext.create('GeoExt.component.Map', {
/** create( [name], [args] ) : Object
* Instantiate a class by either full name, alias or
* alternate name.
* If Ext.Loader is enabled and the class has not been
* defined yet, it will attempt to load the class via
* synchronous loading.
* 完全な名前、別名または代替名のいずれかによってクラスを
* インスタンス化します。
* Ext.Loader が有効になっており、クラスがまだ定義されて
* いない場合は、同期ロードを経由してクラスをロードしよう
* とします。(GeoExt doc[w/ext)
*/
map: olMap
/** map : ol.Map
* A configured map or a configuration object for the
* map constructor.
* 設定されたマップまたは map(マップ)コンストラクタの
* 設定オブジェクト。
*/
});
mapPanel = Ext.create('Ext.panel.Panel', {
/** Ext.panel.Panel
* Panel is a container that has specific functionality
* and structural components that make it the perfect
* building block for application-oriented user interfaces.
* Panels are, by virtue of their inheritance from
* Ext.container.Container, capable of being configured
* with a layout, and containing child Components.
* パネルは、特定の機能とそれアプリケーション指向のユーザ
* インターフェイスに最適なビルディングブロックにする構造
* 的要素を持っているコンテナです。パネルは、
* Ext.container.Container からの継承のおかげで、layout
* で構成し、子コンポーネントを含むことができます。
* (GeoExt doc[w/ext])
*/
region: 'center',
/** region : "north"/"south"/"east"/"west"/"center"
* Defines the region inside border layout.
* ボーダレイアウトの内側の領域を定義します。
* (GeoExt doc[w/ext)
*/
border: false, /** border : Boolean * Specify as false to render the Panel with zero width * borders. * Leaving the value as true uses the selected theme's * $panel-border-width. * Defaults to false when using or extending Neptune. * Defaults to: true. * ゼロ幅の border(境界線)でパネルを描画するため false * を指定します。 * true として値を残すためには、選択されたテーマ * $panel-border-width を使用します。 * ネプチューン(Neptune Theme)を使用するか拡張すると * き、デフォルトは false です。 * デフォルトは:true。 * (GeoExt doc[w/ext) */
layout: 'fit', /** layout : Ext.enums.Layout/Object * Important: In order for child items to be correctly * sized and positioned, typically a layout manager must * be specified through the layout configuration option. * The sizing and positioning of child items is the * responsibility of the Container's layout manager * which creates and manages the type of layout you have * in mind. * 重要:子アイテムが正しいサイズと配置されるためには、 * 一般的にレイアウトマネージャは、layout configuration * option(レイアウト設定オプション)を使用して指定する * 必要があります。 * 子アイテムのサイズと位置は、レイアウトの種類を管理す * るContainer's layout manager(コンテナレイアウトマ * ネージャ)の役割です。 * (GeoExt doc[w/ext) */
items: [mapComponent] /** items : Object/Object[] * A single item, or an array of child Components to be * added to this container * Unless configured with a layout, a Container simply * renders child Components serially into its * encapsulating element and performs no sizing or * positioning upon them. * 単一の item(アイテム)、または子 Compornents(コン * ポーネント)の配列は、このコンテナに追加します。 * layout(レイアウト)で構成されていない限り、Container * (コンテナ)は単に、子 Compornents(コンポーネント) * をそのカプセル化要素に直列にレンダリングし、それらに * サイズや位置調整も実行しません。 * (GeoExt doc[w/ext) */
});
treeStore = Ext.create('GeoExt.data.store.LayersTree', {
layerGroup: olMap.getLayerGroup(),
/** layerGroup : ol.layer.Group
* The ol.layer.Group that the tree is derived from.
* tree から得られるol.layer.Group。
* (GeoExt doc[w/ext)
*/
/** getLayerGroup() * Get the layergroup associated with this map. * この map に関連付けられている layergroup を取得します。 * (ol3 API) */
});
treePanel = Ext.create('Ext.tree.Panel', {
title: 'Tree Example',
/** title : String
* The title text to be used to display in the Panel
* Header. Or a config object for a Panel Title.
* Panel Header に表示するために使用される title テキ
* スト。または Panel Title のための config オブジェ
* クト。(GeoExt doc[w/ext)
*/
viewConfig: {
/** viewConfig : Object
* A config object that will be applied to the grid's UI
* view. Any of the config options available for Ext.view.
* Table can be specified here. This option is ignored if
* view is specified.
* グリッド UI viewに適用される設定オブジェクト。
* Ext.view.Table ために利用可能な設定オプションのいずれかを
* ここで指定することができます。view が指定されている場合、
* このオプションは無視されます。
* (GeoExt doc[w/ext)
*/
plugins: { ptype: 'treeviewdragdrop' }
/** plugins : Ext.plugin.Abstract[]/Ext.plugin.Abstract/
* Object[]/Object/Ext.enums.Plugin[]/Ext.enums.Plugin
* An array of plugins to be added to this component.
* Can also be just a single plugin instead of array.
* Plugins provide custom functionality for a component.
* The only requirement for a valid plugin is that it
* contain an init method that accepts a reference of
* type Ext.Component. When a component is created, if
* any plugins are available, the component will call
* the init method on each plugin, passing a reference
* to itself. Each plugin can then call methods or
* respond to events on the component as needed to
* provide its functionality.
* このコンポーネントに追加されるプラグインの配列。配列の
* 代わりに1つだけのプラグインにすることもできます。
* プラグインは、コンポーネントのカスタム機能を提供します。
* 有効なプラグインの唯一の要件は、それが参照型
* Ext.Component を受け入れる init メソッドが含まれているこ
* とです。コンポーネントが作成されると、任意のプラグインが
* 利用可能である場合、コンポーネントは、それ自身への参照を
* 渡し、各プラグインに init メソッドを呼び出します。各プラ
* グインは、その後、メソッドを呼び出したり、その機能を提供
* するために、必要に応じてコンポーネント上のイベントに応答
* することができます。
* (GeoExt doc[w/ext)
*/
},
store: treeStore, /** store : Ext.data.TreeStore required * The Store the tree should use as its data source. * Overrides: Ext.panel.Table.store * tree がそのデータソースとして使用する Store。 * (GeoExt doc[w/ext) */
rootVisible: false, /** rootVisible : Boolean * False to hide the root node. * Note that trees always have a root node. If you do not * specify a root node, one will be created. * If the root node is not visible, then in order for a * tree to appear to the end user, the root node is * autoloaded with its child nodes. * Defaults to: true. * ルートノードを非表示にする場合は False。 * tree は常にルートノードを持っていることに注意してください。 * ルートノードを指定しない場合、1つ作成されます。 * ルートノードが表示されていない場合、tree は、エンドユーザ * に表示されるようにするために、ルートノードは、その子ノード * に自動的にロードされます。 * デフォルトは:true。 * (GeoExt doc[w/ext) */
flex: 1, /** flex : Number * Flex may be applied to child items of a box layout * (vbox or hbox). Each child item with a flex property * will fill space (horizontally in hbox, vertically in * vbox) according to that item's relative flex value * compared to the sum of all items with a flex value * specified. * Any child items that have either a flex of 0 or * undefined will not be 'flexed' (the initial size will * not be changed). * flex(フレックス)は、ボックスレイアウト(vbox または * hbox)の子 item(アイテム)に適用することができます。flex * プロパティを持つそれぞれの子 item は、指定された flex 値 * を持つすべての item の合計と比べ、その item の相対的な * flex 値に応じて(vbox に垂直方向、hbox に水平方向)スペー * スを埋めます。 * 0 flex または、未定義のいずれかを持っている任意の子 item * は、「(ウィンドウに合わせて)伸縮」されることはありません * (初期サイズは変更されません)。 * (GeoExt doc[w/ext) */
border: false });
var description = Ext.create('Ext.panel.Panel', {
contentEl: 'description',
/** contentEl : String
* Specify an existing HTML element, or the id of an
* existing HTML element to use as the content for this
* component.
* This config option is used to take an existing HTML
* element and place it in the layout element of a new
* component (it simply moves the specified DOM element
* after the Component is rendered to use as the content.
* 既存のHTMLエレメントを指定するか、既存のHTMLエレメン
* トの id は、このコンポーネントのコンテンツとして使用
* します。
* Component(コンポーネント)が 、content(コンテンツ)
* として使用するためにレンダリングされた後に、この設定オ
* プションは、既存のHTMLエレメントを取得し、新しい
* component(コンポーネント)の layout(レイアウト)エレ
* メントでそれを配置するために使用されます(それは単に指定
* された DOM エレメントを移動させます)。
* (GeoExt doc[w/ext)
*/
title: 'Description',
height: 200, /** height : Number|String * The height of this component. A numeric value will be * interpreted as the number of pixels; a string value * will be treated as a CSS value with units. * このコンポーネントの高さ。数値は、ピクセル数として解釈さ * れます。文字列値が単位で CSS 値として扱われます。 * (GeoExt doc[w/ext) */
border: false,
bodyPadding: 5 /** bodyPadding : Number/String * A shortcut for setting a padding style on the body * element. The value can either be a number to be * applied to all sides, or a normal css string * describing padding. * bodyエレメントにパディングスタイルを設定するための * ショートカット。値は、すべての側面に適用される数字、 * または通常のCSSの文字列記述パディングのいずれかにで * きます。 * (GeoExt doc[w/ext) */
});
Ext.create('Ext.Viewport', {
/** Ext.Viewport (Ext.container.Viewport)
* A specialized container representing the viewable
* application area (the browser viewport).
* The Viewport renders itself to the document body,
* and automatically sizes itself to the size of the
* browser viewport and manages window resizing. There
* may only be one Viewport created in a page.
* 表示可能なアプリケーション領域(ブラウザのビューポート)
* を表す特殊なコンテナ。
* Viewport は、document body にそれ自身をレンダリングし、
* 自動的に自身のサイズをブラウザのビューポートのサイズにし、
* ウィンドウのサイズ変更を管理します。1ページに作成した
* ビューポートは一つだけ設定できます。
* (GeoExt doc[w/ext])
*/
layout: "border",
items: [
mapPanel,
{
xtype: 'panel',
/** xtype : Ext.enums.Widget
* Note: Only applies to Ext.Component derived classes
* when used as a config in Ext.define.
* This property provides a shorter alternative to
* creating objects than using a full class name. Using
* xtype is the most common way to define component
* instances, especially in a container.
* 注:Ext.define で設定として使用された場合、派生クラスを
* Ext.Component にのみ適用されます。
* このプロパティは、完全なクラス名を使用するよりも、オブ
* ジェクトを作成する短い代替手段を提供します。 xtype を使
* 用することは、特にコンテナで、コンポーネントのインスタン
* スを定義する最も一般的な方法です。
* (GeoExt doc[w/ext])
*/
region: 'west',
width: 400,
/** width : Number|String
* The width of this component. A numeric value will be
* interpreted as the number of pixels; a string value
* will be treated as a CSS value with units.
* このコンポーネントの幅。数値は、ピクセル数として解釈さ
* れます。文字列値が単位で CSS 値として扱われます。
* (GeoExt doc[w/ext)
*/
layout: {
/** layout [Specify as an Object]
* type
* The layout type to be used for this container. If
* not specified, a default Ext.layout.container.Auto
* will be created and used.
* Valid layout type values are listed in
* Ext.enums.Layout.
* Layout specific configuration properties
* Additional layout specific configuration properties
* may also be specified. For complete details
* regarding the valid config options for each layout
* type, see the layout class corresponding to the type
* specified.
* type(タイプ)
* layout type(レイアウトタイプ)は、この container(コン
* テナ)に使用されます。
* 指定しない場合、デフォルトの Ext.layout.container.Auto
* が作成および使用されます。
* 有効な layout type の値は Ext.enums.Layout に記載され
* ています。
* layout(レイアウト)固有の設定プロパティー
* 追加の layout 固有の構成プロパティを指定することもでき
* ます。各 layout type に有効な設定オプションに関する詳
* 細については、指定された type に対応する layout クラス
* を参照してください。
* (GeoExt doc[w/ext])
*/
type: 'vbox',
align: 'stretch'
},
items: [
treePanel,
description
]
}
]
});
}
});


0 件のコメント:
コメントを投稿