OpenLayers.Mapクラス

OpenLayers.Mapのインスタンスは対話型のマップ、ウェブページに組み込めます。OpenLayers.Mapのコンストラクターで新規作成できます。
マップ自身は沢山機能を提供していません。マップを拡張するために、コントロール(OpenLayers.Control)とレイヤ(OpenLayers.Layer)をマップに追加する必要があります。

定数


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

{OpenLayers.Bounds}

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 )


レイヤを追加します。
パラメータ
addLayers

addLayers: function ( layers )


複数レイヤを一括追加します。
パラメータ
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 )


パラメータ

戻り値
{Integer} このレイヤのインデックスを返します。このレイヤはマップ内に存在しない場合は-1を返します。

setLayerIndex

setLayerIndex: function ( layer, idx )


レイヤを指定のインデックスに移動し、表示の順位を変えます。getLayerIndex()メソッドで現時点のインデックスを取得できます。
注:ベースマップはオーバーレイの上に移動することができません。
パラメータ
raiseLayer

raiseLayer: function (layer, delta )


deltaを与えて、レイヤインデックスを移動します。deltaは正数の場合は上に移動して、マイナスの場合は下に移動します。
注:ベースマップはオーバーレイの上に移動することができません。
パラメータ
setBaseLayer

setBaseLayer: function( newBaseLayer )


レイヤ一覧のレイヤをベースマップに設定します。
パラメータ
addControl

addControl: function ( control, px )


パラメータ
getControl

getControl: function ( id )


パラメータ
  • id {String} コントロールのID。

戻り値
{OpenLayers.Control} idで検索したコントロールです。見つからなかった場合はnullを返します。

removeControl

removeControl: function ( control )


マップからコントロールを削除します。
パラメータ
addPopup

addPopup: function( popup, exclusive )


パラメータ
  • popup {OpenLayers.Popup}
  • exclusive {Boolean} trueの場合はその他既存のpopupsをクローズします。
removePopup

removePopup: function( 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は現時点の表示範囲内の場合は、スムーズにスクロールします。
パラメータ
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 )


指定された空間範囲にズーム&スクロールします。
パラメータ
zoomToMaxExtent

zoomToMaxExtent: function()


最大縮尺にズーム&スクロールします。
zoomToScale

zoomToScale: function( scale )


指定された縮尺にズームします。
getViewPortPxFromLonLat

getViewPortPxFromLonLat: function ( lonlat )


パラメータ

戻り値
{OpenLayers.Pixel} ワールド座標をビューポートのピクセル座標に変換します。

getLonLatFromPixel

getLonLatFromPixel: function ( px )


パラメータ

戻り値
{OpenLayers.LonLat} ビューポートのピクセルをワールド座標に変換します。

getPixelFromLonLat

getPixelFromLonLat: function ( lonlat )

戻り値
{OpenLayers.Pixel} ワールド座標をピクセル座標に変換します。

getViewPortPxFromLayerPx

getViewPortPxFromLayerPx:function( layerPx )


パラメータ

戻り値
{OpenLayers.Pixel} レイヤのピクセル座標をビューポートのピクセル座標に変換します。

getLayerPxFromViewPortPx

getLayerPxFromViewPortPx:function( viewPortPx )


パラメータ

戻り値
{OpenLayers.Pixel} ビューポートのピクセル座標をレイヤのピクセル座標に変換します。

getLayerPxFromLonLat

getLayerPxFromLonLat: function ( lonlat )


パラメータ
lonlat ** {OpenLayers.LonLat}
戻り値**
{OpenLayers.Pixel} ワールド座標をレイヤのピクセル座標に変換します。
Add a New Comment
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License