OpenLayers.Mapのインスタンスは対話型のマップ、ウェブページに組み込めます。OpenLayers.Mapのコンストラクターで新規作成できます。
マップ自身は沢山機能を提供していません。マップを拡張するために、コントロール(OpenLayers.Control)とレイヤ(OpenLayers.Layer)をマップに追加する必要があります。
Table of Contents
|
定数
Z_INDEX_BASE
{Object} ベースz-indexeです。
EVENT_TYPES
{Array(String)} サポートされているイベントタイプです。特定のイベントにリスナーを登録する文法は下記に参照してください。
map.events.register(type, obj, listener);
リスナーを呼び出す同時に参照されているイベントオブジェクトも転送します、何か発生したのかこのイベントのプロパティを依存します。
すべてのイベントは下記プロパティを持っています。
- object {Object} map.events.objectの参照です。
- element {DOMElement} map.events.elementの参照です。
ブラウザーイベントは下記付加プロパティが持っています。
- xy {OpenLayers.Pixel} イベントのピクセル位置です。 (map viewportの相対位置)
- ブラウザーイベント自身のプロパティ。
サポートされているマップイベントタイプ
- preaddlayer レイヤ追加する直前に発生します。このイベントオブジェクトは追加するレイヤの参照を含んでいます。
- addlayer レイヤ追加した直後に発生します。このイベントオブジェクトは追加するレイヤの参照を含んでいます。
- removelayer レイヤ削除した直後に発生します。このイベントオブジェクトは追加するレイヤの参照を含んでいます。
- changelayer レイヤの名前、表示順位、表示・非表示ステータスを変更した直後に発生します。layerとpropertyプロパティが持っているイベントオブジェクトをリスナーに渡します。layerは変更があった対象レイヤの参照です。propertyは変更した内容のキー(name, visibility或いはorder)になります。
- movestart 地図のドラッグ、パン及びズームを開始するときに発生します。
- move 地図のドラッグ、パン及びズームの度に発生します。
- moveend 地図のドラッグ、パン及びズームを完了するときに発生します。
- popupclose popupを開く時に発生します。
- popupopen popupを閉じる時に発生します。
- addmarker markerを追加した後に発生します。
- removemarker markerを削除した後に発生します。
- clearmarkers すべてのmarkerを削除した後に発生します。
- mouseover マップ上でmouseoverの時に発生します。
- mouseout マップ上でmouseoutの時に発生します。
- mousemove マップ上でmousemoveの時に発生します。
- dragstart 地図のドラッグを開始するときに発生します。
- drag 地図のドラッグの度に発生します。
- dragend 地図のドラッグを完了するときに発生します。
- changebaselayer ベースレイヤを変わったときに発生します。
TILE_WIDTH
{Integer} タイルの幅、ディフォルトは256px。
TILE_HEIGHT
{Integer} タイルの高さ、ディフォルトは256px。
プロパティ
events
{OpenLayers.Events}
マップ上のすべてイベントのハンドルです。
div
{DOMElement}
マップコンテンツのエレメントです。
layers
{Array(OpenLayers.Layer)}
マップに含まれたレイヤ一覧です。表示順でソートされています。
baseLayer
選択されているベースレイヤです。 このレイヤを基準して、最小/最大ズームレベル、投影系などを確定します。
tileSize
{OpenLayers.Size}
マップオプションで設定して、ディフォルト値をオーバーライドできます。
projection
{String}
マップオプションで設定して、ディフォルト値をオーバーライドできます。
units
{String}
地図の単位です。ディフォルトは‘degrees’です。設定可能の単位は‘degrees’ (或いは‘dd’), ‘m’, ‘ft’, ‘km’, ‘mi’, ‘inches’となります。
resolutions
{Array(Float)}
地図表示の解像度(地図単位/ピクセル)の一覧です、逆順で並びます。 レイヤコンストラクターで設定されない場合は、その他のプロパティ(maxExtent, maxResolution, maxScaleなど)をベースにして自動設定されます。
maxResolution
{Float}
ディフォルトは360 deg / 256 pxになります、この値はgmapのズームレベル0と一致します。違う座標系を利用している場合、或いは世界全体を表示する必要がない場合は、この値を設定してください。
minResolution
{Float}
maxScale
{Float}
minScale
{Float}
maxExtent
{OpenLayers.Bounds}
地図最大の空間範囲です。ディフォルトは緯度経度で世界全体(-180, -90, 180, 90)です。 違う座標系を利用している場合、或いは世界全体を表示する必要がない場合は、この値を設定してください。
minExtent
restrictedExtent
{OpenLayers.Bounds}
地図スクロール範囲の制限を指定できます。non-null値を設定された場合は、地図スクロールするときは、指定された内に制限されます。地図ズームの時も、表示範囲が範囲を超えた場合は自動的に中心にスクロールします。
numZoomLevels
{Integer}
ズームレベルの数です。ディフォルトは16です。必要の場合は、マップオプションで違う値を設定できます。
theme
{String}
ロードしたいテーマスタイルのCSSファイルの相対パスです。ページに直接CSSリンクしたい場合は、マップオプションでnullを設定してください。(例:{theme: null})
displayProjection
{OpenLayers.Projection}
proj4jsのサポートが必要です。投影系はデータ表示のため、幾つのコントロールを利用しています。このプロパティを設定された場合は、displayProjection=nullのコントロールはマップに追加する時に自動設定されます。
fallThrough
{Boolean}
OpenLayersでは、マップ上で発生したイベントをページ内他のエレメントに転送(fall through)するかどうか設定できます。ディフォルトはtrueです。
eventListeners
{Object}
新規作成の時、オプションで設定された場合は、eventListenersオブジェクトは<OpenLayers.Events.on>で登録します。オブジェクトの構成は、events.onサンプルのようなリスナーオブジェクトではないといけません。
コンストラクター
OpenLayers.Map
OpenLayers.Mapインスタンス作成のコンストラクターです
パラメータ
- div {String} ページ内に地図を含むエレメントのIDです。
- options {Object} プロパティ設定用のオプションオブジェクトです。
サンプル
// オプション設定しないで、エレメントIDはmap1のインスタンスを作成します。
var map = new OpenLayers.Map("map1");
// オプション設定して、エレメントIDはmap1のインスタンスを作成します。
var options = {
maxExtent: new OpenLayers.Bounds(-200000, -200000, 200000, 200000),
maxResolution: 156543,
units: 'm',
projection: "EPSG:41001"
};
var map = new OpenLayers.Map("map2", options);
メソッド
destroy
destroy:function()
マップ使用されているリソースを開放します。
setOptions
setOptions: function( options )
パラメータ
- options {Object} オプションのハッシュテーブルです。
getTileSize
getTileSize: function()
タイルサイズを取得します。
戻り値
{OpenLayers.Size}
getBy
getBy: function( array, property, match )
propertyを与えて、matchと一致したオブジェクト一覧を取得します。
パラメータ
- array {String} プロパティの値
- property {String} プロパティ
- match {String | Object} マッチング用の文字列です。 正規表現文字或いはオブジェクトを指定可能です。それはtestと呼ぶメソッドを持つオブジェクトでもありえます。 もしmatch.test(map[array][i][property])はtrueと評価された場合は、そのアイテムを戻り値に追加して返します、アイテムが見つからない場合は、空配列を戻ります。
戻り値
{Array} マッチしたアイテム配列です。
getLayersBy
getLayersBy: function( property, match )
propertyを与えて、matchと一致したレイヤオブジェクト一覧を取得します。
パラメータ
- property {String} プロパティ
- match {String | Object} マッチング用の文字列です。 正規表現文字或いはオブジェクトを指定可能です。それはtestと呼ぶメソッドを持つオブジェクトでもありえます。 もしmatch.test(layer[property])はtrueと評価された場合は、そのレイヤを戻り値に追加して返します、レイヤが見つからない場合は、空配列を戻ります。
戻り値
{Array(OpenLayers.Layer)} マッチしたレイヤ配列です。見つからない場合は空配列を戻ります。
getLayersByName
getLayersByName: function( match )
名前でマッチングしてレイヤ検索します。
パラメータ
- match {String | Object} マッチング用の文字列です。 正規表現文字或いはレイヤ名を指定可能です。それはtestと呼ぶメソッドを持つオブジェクトでもありえます。 もしname.test(layer.name)はtrueと評価された場合は、そのレイヤを戻り値に追加して返します、レイヤが見つからない場合は、空配列を戻ります。
戻り値
{Array(OpenLayers.Layer)} マッチしたレイヤ配列です。見つからない場合は空配列を戻ります。
getLayersByClass
getLayersByClass: function( match )
CLASS_NAMEでマッチングしてレイヤ検索します。
パラメータ
- match {String | Object} マッチング用の文字列です。 正規表現文字或いはクラス名を指定可能です。それはtestと呼ぶメソッドを持つオブジェクトでもありえます。 もしtype.test(layer.CLASS_NAME)はtrueと評価された場合は、そのレイヤを戻り値に追加して返します、レイヤが見つからない場合は、空配列を戻ります。
戻り値
{Array(OpenLayers.Layer)} マッチしたレイヤ配列です。見つからない場合は空配列を戻ります。
getControlsBy
getControlsBy: function( property, match )
propertyを与えて、matchと一致したコントロールオブジェクト一覧を取得します。
パラメータ
- property {String} プロパティ
- match {String | Object} マッチング用の文字列です。正規表現文字或いはオブジェクトを指定可能です。それはtestと呼ぶメソッドを持つオブジェクトでもありえます。もしmatch.test(controls[property])はtrueと評価された場合は、そのコントロールを戻り値に追加して返します、コントロールが見つからない場合は、空配列を戻ります。
戻り値
{Array(OpenLayers.Control)} マッチしたコントロール配列です。見つからない場合は空配列を戻ります。
getControlsByClass
getControlsByClass: function( match )
CLASS_NAMEでマッチングしてコントロールを検索します。
パラメータ
- match {String | Object} マッチング用の文字列です。正規表現文字或いはクラス名を指定可能です。それはtestと呼ぶメソッドを持つオブジェクトでもありえます。もしtype.test(control.CLASS_NAME)はtrueと評価された場合は、そのコントロールを戻り値に追加して返します、コントロールが見つからない場合は、空配列を戻ります。
戻り値
{Array(OpenLayers.Control)} マッチしたコントロール配列です。見つからない場合は空配列を戻ります。
getLayer
getLayer: function( id )
idを与えて、レイヤを取得します。
パラメータ
- id {String} レイヤのID
戻り値
{OpenLayers.Layer} レイヤオブジェクトを返します、見つからなかった場合はnullを返します。
addLayer
addLayer: function ( layer )
レイヤを追加します。
パラメータ
- layer {OpenLayers.Layer}
addLayers
addLayers: function ( layers )
複数レイヤを一括追加します。
パラメータ
- layers {Array(OpenLayers.Layer)}
removeLayer
removeLayer: function( layer, setNewBaseLayer )
レイヤを削除する場合は、ビジュアルエレメント(layer.divプロパティ)を削除して、そして、マップ内のレイヤ一覧から削除して、レイヤをnullに設定します。
removelayerイベントは発生します。
大事な話ですが、簡単にレイヤを削除にしても、このレイヤで作成されているpopupsは削除しません。実はpopupsがレイヤの所属していない為です。
シンプルなソリューションはdestroy()メソッドを呼び出す。
正しいソリューションはremovelayerを自分自身にバインドして、削除する時に、このレイヤで作成したpopupsを検索してマップから削除します。
パラメータ
- layer {OpenLayers.Layer}
- setNewBaseLayer {Boolean} ディフォルトはtrue。
getNumLayers
getNumLayers: function ()
戻り値
{Integer} マップに含まれているレイヤ数です。
getLayerIndex
getLayerIndex: function ( layer )
パラメータ
- layer {OpenLayers.Layer}
戻り値
{Integer} このレイヤのインデックスを返します。このレイヤはマップ内に存在しない場合は-1を返します。
setLayerIndex
setLayerIndex: function ( layer, idx )
レイヤを指定のインデックスに移動し、表示の順位を変えます。getLayerIndex()メソッドで現時点のインデックスを取得できます。
注:ベースマップはオーバーレイの上に移動することができません。
パラメータ
- layer {OpenLayers.Layer}
- idx {int}
raiseLayer
raiseLayer: function (layer, delta )
deltaを与えて、レイヤインデックスを移動します。deltaは正数の場合は上に移動して、マイナスの場合は下に移動します。
注:ベースマップはオーバーレイの上に移動することができません。
パラメータ
- layer {OpenLayers.Layer}
- delta {int}
setBaseLayer
setBaseLayer: function( newBaseLayer )
レイヤ一覧のレイヤをベースマップに設定します。
パラメータ
- newBaseLayer {OpenLayers.Layer}
addControl
addControl: function ( control, px )
パラメータ
- control {OpenLayers.Control}
- px {OpenLayers.Pixel}
getControl
getControl: function ( id )
パラメータ
- id {String} コントロールのID。
戻り値
{OpenLayers.Control} idで検索したコントロールです。見つからなかった場合はnullを返します。
removeControl
removeControl: function ( control )
マップからコントロールを削除します。
パラメータ
- control {OpenLayers.Control} 削除するコントロールです。
addPopup
addPopup: function( popup, exclusive )
パラメータ
- popup {OpenLayers.Popup}
- exclusive {Boolean} trueの場合はその他既存のpopupsをクローズします。
removePopup
removePopup: function( popup )
パラメータ
- popup {OpenLayers.Popup}
getSize
getSize: function ()
戻り値
{OpenLayers.Size} マップを含むDIVのサイズを返します。
注:戻したサイズオブジェクトはただのコピーです、値を編集しでも実際のサイズが変わりません。
updateSize
updateSize: function()
動的にmap divのサイズを変更した場合は呼び出す。(because mozilla wont let us catch the “onresize” for an element)
getCenter
getCenter: function ()
戻り値
{OpenLayers.LonLat}
getZoom
getZoom: function ()
戻り値
{Integer}
pan
pan: function( dx, dy, options )
スクリーンのピクセル値で地図をスクロールします。
パラメータ
- dx {Integer}
- dy {Integer}
- options {Object} スクロールオプション設定:
- animate {Boolean} setCenter()メソッドを変わりにpanTo()を利用します(アニメーションスクロール)。ディフォルトはtrue。
- dragging {Boolean} treeの場合はsetCenter()メソッドを呼び出す。ディフォルトはfalse。
panTo
panTo: function( lonlat )
地図をlonlatにスクロールします。 lonlatは現時点の表示範囲内の場合は、スムーズにスクロールします。
パラメータ
- lonlat {OpenLayers.Lonlat}
setCenter
etCenter: function( lonlat, zoom, dragging, forceZoomChange )
地図中心位置設定。
パラメータ
- lonlat OpenLayers.Lonlat
- zoom {Integer}
- dragging {Boolean} movestart/endイベントを起こすかどうか指定します。
- forceZoomChange {Boolean} zoom changeイベントを起こすかどうか指定します。
getProjection
getProjection: function()
投影系を取得します。
戻り値
{String} ベースレイヤの投影系文字列を返します。
getProjectionObject
getProjectionObject: function()
ベースマップのprojectionオブジェクトを取得します。
戻り値
{OpenLayers.Projection} ベースマップのprojectionオブジェクト。
getMaxResolution
getMaxResolution: function()
戻り値
{F} 地図の最大解像度を返します。
getMaxExtent
getMaxExtent: function ()
戻り値
{OpenLayers.Bounds} 最大空間範囲を返します。
getNumZoomLevels
getNumZoomLevels: function()
戻り値
{Integer} 選択されているベースマップの表示可能のズームレベルの数を返します。
getExtent
getExtent: function ()
戻り値
{OpenLayers.Bounds} 現在表示している空間範囲を返します。ベースマップ設定されていない場合はnullを返します。
getResolution
getResolution: function ()
戻り値
{Float} 現在地図の解像度を返します。ベースマップ設定されていない場合はnullを返します。
getScale
getScale: function ()
戻り値
{Float} 現在地図の縮尺を返します。ベースマップ設定されていない場合はnullを返します。
getZoomForExtent
getZoomForExtent: function ( bounds, closest )
パラメータ
- bounds {OpenLayers.Bounds}
- closest {Boolean} 設定された空間範囲に一番近いズームレベルを計算します。注:計算したズームレベルは必ず指定された空間範囲を含むではありません。ディフォルトはfalse。
戻り値
{Integer} 適当なズームレベルを返します。ベースマップ設定されていない場合はnullを返します。
getResolutionForZoom
getResolutionForZoom: function( zoom )
パラメータ
- zoom {Float}
戻り値
{Float} 指定されたズームに対して、適当な解像度を返します。ベースマップ設定されていない場合はnullを返します。
戻り値
{Float} 指定されたズームに対して、適当な解像度を返します。
getZoomForResolution
getZoomForResolution: function( resolution, closest )
パラメータ
- resolution {Float}
- closest {Boolean} 設定された解像度に一番近いズームレベルを計算します。ディフォルトはfalse。
戻り値
{Integer} 指定された解像度に対して、適当なズームを返します。
zoomTo
zoomTo: function( zoom )
指定されたzoomに地図をズームします。
パラメータ
- zoom {Integer}
zoomIn
zoomIn: function()
地図を拡大します。
zoomOut
zoomOut: function()
地図を縮小します。
zoomToExtent
zoomToExtent: function( bounds )
指定された空間範囲にズーム&スクロールします。
パラメータ
- **bounds ** {OpenLayers.Bounds}
zoomToMaxExtent
zoomToMaxExtent: function()
最大縮尺にズーム&スクロールします。
zoomToScale
zoomToScale: function( scale )
指定された縮尺にズームします。
getViewPortPxFromLonLat
getViewPortPxFromLonLat: function ( lonlat )
パラメータ
- **lonlat ** {OpenLayers.LonLat}
戻り値
{OpenLayers.Pixel} ワールド座標をビューポートのピクセル座標に変換します。
getLonLatFromPixel
getLonLatFromPixel: function ( px )
パラメータ
- px {OpenLayers.Pixel}
戻り値
{OpenLayers.LonLat} ビューポートのピクセルをワールド座標に変換します。
getPixelFromLonLat
getPixelFromLonLat: function ( lonlat )
- **lonlat ** {OpenLayers.LonLat}
戻り値
{OpenLayers.Pixel} ワールド座標をピクセル座標に変換します。
getViewPortPxFromLayerPx
getViewPortPxFromLayerPx:function( layerPx )
パラメータ
- layerPx {OpenLayers.Pixel}
戻り値
{OpenLayers.Pixel} レイヤのピクセル座標をビューポートのピクセル座標に変換します。
getLayerPxFromViewPortPx
getLayerPxFromViewPortPx:function( viewPortPx )
パラメータ
- viewPortPx {OpenLayers.Pixel}
戻り値
{OpenLayers.Pixel} ビューポートのピクセル座標をレイヤのピクセル座標に変換します。
getLayerPxFromLonLat
getLayerPxFromLonLat: function ( lonlat )
パラメータ
lonlat ** {OpenLayers.LonLat}
戻り値**
{OpenLayers.Pixel} ワールド座標をレイヤのピクセル座標に変換します。