GSJMap - API

名前空間と定数 | 汎用オブジェクト | 汎用関数
Map | Layer
Marker | Icon | Popup | Polyline | Style | GeometryGroup
Controller | Geocoder | Promise

 GSJMapでは,いわゆるクラスを使用しません.必要なオブジェクトは全て関数の結果として得られます.このため,以下では例えば「Map」のように総称名として記述しますが,そのようなクラス名(やオブジェクト名)が実装されているわけではありません.
 特に,オブジェクト生成専用の関数をファクトリー関数と呼んでいます.ただし,通常Mapオブジェクト以外はファクトリー関数を使用する機会はほとんど無く,addMarker()等のメソッド利用時に自動的に生成されます.特に,LatLngオブジェクト等のファクトリ関数が用意されている汎用オブジェクトでは,引数にそれらが指定されている場合,GSJMap内部で自動的にファクトリー関数が呼ばれるので,さまざまが記述表現が可能です.

※GSJMapは現在開発中です.このページに記述されている機能のいくつかは実装されていません.特にCesiumエンジンはまだほとんどの機能が未実装です.

・データ型の表現について

 このページでは,データ型を表すために,このページで記述されているデータ型と以下の表現を使用します.

Number, String, Boolean, Object, Function, DOMElement, DOMEvent, Eney(型を問わない)

 配列は[ ]で中に型名を入れて表現します.同じ型を列記でする場合は,「型名, ...」と表記します.複数の型を利用できる場合は | を挟んで列挙します.

名前空間と定数

GSJ

 名前空間を定義するためのオブジェクトで,外部に直接提供される唯一のオブジェクトです.このライブラリのすべての定数,オブジェクト,関数は,このオブジェクトの直接ないし間接のプロパティとして定義されます.

定数

定数 説明
GSJ.DEFAULT_BASE (地理院地図標準) デフォルトの背景地図 
GSJ.DEFAULT_ENGINE 'leaflet' デフォルトのマップエンジン名
GSJ.EARTH_R  6378137 地球の長半径(WGS84, 単位m)
GSJ.ZOOM_LIMIT 24 このライブラリで利用できるズームレベルの限界値

汎用オブジェクト

Coord

 タイル座標(X, Y)及びズームレベルを表します.ズームレベルは省略されることがあります.

プロパティ 必須 説明
x Number X座標
y Number Y座標
z Numbet    ズームレベル 

LatLng

 地理的な位置を表します.

プロパティ 必須 説明
lat Number 緯度(360度法.北緯が正,南緯が負)
lng Number ○  経度(360度法.東経が正,西経が負)

 このオブジェクトの生成用関数 GSJ.latLng() が利用できます.

Point

 平面上のX, Y座標を表します.

プロパティ 必須 説明
x Number X座標
y Number Y座標

 このオブジェクトの生成用関数 GSJ.Point() が利用できます.

Bounds

 地理的な矩形範囲を表します.

プロパティ 必須 説明
sw LatLng 南西端の地理座標
ne LatLng 北東端の地理座標

 通常は,sw.lat < ne.latでなければなりません.また,sw.lng > ne.lng の場合は子午線をはさんだ範囲となります.
 このオブジェクトの生成用関数 GSJ.bounds() が利用できます.

Event

 イベントを表します.これらのすべの値が常に利用できるわけではありません.

プロパティ 説明
domEvent DOMEvent オリジナルのDOMイベントオブジェクト. 省略されることがあります.
original Object 地図ライブラリ固有のイベントオブジェクト.省略されることがあります.
latLng LatLng イベントが発生した地理上の位置.省略されることがあります.
target Object イベントが発生したオブジェクト
type String イベントタイプ
altitude Number WGS84楕円体を基準とする高度 
accuracy Number 水平方向精度(m単位)
altitudeAccuracy Number  垂直方向精度(m単位) 
headding Number 方位(北から時計回りの角度)
speed Number 速度(m/秒)
time Date  取得時刻

汎用関数

汎用オブジェクトファクトリー関数

関数 引数の型 戻り値 説明
GSJ.latLng( latLng ) [ Number, Number ]
| String
| LatLng
LatLng
 | null
緯度経度を表すLatLngオブジェクトを生成します 
引数が文字列型の場合はカンマ区切りの文字列と解釈されます
生成に失敗するとnullを返します
GSJ.latLng( lat,
 lng )
Number,
Number
GSJ.point( point )  [ Number, Number ]
| String
| Point
Point
| null 
平面上の座標を表すPointオブジェクトを生成します 
引数が文字列型の場合はカンマ区切りの文字列と解釈されます
生成に失敗するとnullを返します
GSJ.point( x,
 y )
Number,
Number
GSJ.bounds( bounds ) [ LatLng, LatLng ]
| [ [ Number, Number ], [ Number, Number ] ]
| Bounds
Bounds
| null 
経緯度で指定された矩形領域をあらわすBoundsオブジェクトを生成します
生成に失敗するとnullを返します  
GSJ.bounds( sw,
 ne )
LatLng | [ Number, Number ],
LatLng | [ Number, Number ]
GSJ.bounds( s,
 w,
 n,
 e )
Number,
Number,
Number,
Number 

地理座標変換

関数 引数の型 戻り値 説明
GSJ.latLngToPoint( latLng,
 zoom )
LatLng,
Number
Point 緯度経度とズームレベルを指定して,ピクセル座標を取得します.
ここでのピクセル座標とは,そのズームレベルにおいて256ピクセルのタイルを使用した場合の座標で,左上を原点,右及び下をX, Y座標の正としたものです.
GSJ.pointToLatLng( point,
zoom )
Point,
Number
LatLng ピクセル座標とズームレベルを指定して緯度経度に変換します.
ピクセル座標の定義はlatLngToPoint()関数と同じです.

ズームレベルとスケールの変換

関数 引数の型 戻り値 説明
GSJ.zoomToScale(  zoom,
 lat )
Number,
Number
Number ズームレベルをスケール(m/ピクセル)に変換します.
変換には緯度(360度法)も必要です
GSJ.scaleToZoom( scale,
 lat )
Number,
Number
Number スケール(m/ピクセル)をズームレベルに変換します.
変換には緯度(360度法)も必要です

標高

関数 引数の型 戻り値 説明
GSJ.getElevation( latLng,
 z,
 params)
LatLng,
Number,
Object,
Promise 指定した位置(latLng)とズームレベル(z)の標高を取得するプロミスを発行します.
paramsでは取得方法をパラメータオブジェクトで指定します.このオブジェクトのtypeプロパティに'm'を指定すると1m精度,'cm'を指定するとcm精度となります.
プロミス成功時の引数には標高値(m)が渡されます.

マップエンジン

関数 引数の型 戻り値 説明
GSJ.getEnginNames() なし [ String, ... ]  使用できるマップエンジン名のリストを取得します

ファイルのロード

関数 引数の型 戻り値 説明
GSJ.loadCSV( url,
 sep ) 
String,
String
Promise CSVファイルをロードするプロミスを生成します.
プロミス成功時の引数には2重配列としてデータが渡されます.
プロミス失敗時の引数にはエラーレスポンスオブジェクト(msgとstatuscodeプロパティを持つ)が渡されます.
sepは項目の区切り文字を指定します.省略すると','となります.
GSJ.loadImage( url,
 params )
String,
Object
Promise  画像ファイルをロードするプロミスを生成します.paramsを設定すると,内部生成するImageオブジェクトに設定されます.プロミス成功時の引数にはImageオブジェクトが渡されます.
プロミス失敗時の引数にはエラーレスポンスオブジェクト(msgとstatuscodeプロパティを持つ)が渡されます.
GSJ.loadImagePixel( url,
 i,
 j ) 
String,
Number,
Number
Promise  画像ファイルの位置(i,j)のデータロードするプロミスを生成します.
プロミス成功時の引数にはピクセルデータ(R,G,B,Aの4成分の配列データ)が渡されます.
プロミス失敗時の引数にはエラーレスポンスオブジェクト(msgとstatuscodeプロパティを持つ)が渡されます.
GSJ.loadJSON( url )  String  Promise JSONファイルをロードするプロミスを生成します.
プロミス成功時の引数にはJSONオブジェクトが渡されます.
プロミス失敗時の引数にはエラーレスポンスオブジェクト(msgとstatuscodeプロパティを持つ)が渡されます.
urlは同一生成元か,CORS設定がされている必要があります
GSJ.loadText( url )  String Promise テキストファイルをロードするプロミスを生成します.
プロミス成功時の引数にはテキストが渡されます.
プロミス失敗時の引数にはエラーレスポンスオブジェクト(msgとstatuscodeプロパティを持つ)が渡されます.
urlは同一生成元か,CORS設定がされている必要があります
GSJ.loadXML( url ) String Promise XMLファイルをロードするプロミスを生成します.
プロミス成功時の引数にはxmlオブジェクトが渡されます.
プロミス失敗時の引数にはエラーレスポンスオブジェクト(msgとstatuscodeプロパティを持つ)が渡されます.
urlは同一生成元か,CORS設定がされている必要があります
※iOS(Safari, Chorme)では,CORS設定がされていてもloadJSON, loadText, loadXMLで読み込むことができないようです.

URLの保存

関数 引数の型 戻り値 説明
GSJ.mapToKMZ( canvas,
 bounds,
 filename,
 params )
Canvas,
Bounds,
String,
Object
なし  Canvasに描かれた地図画像をKMZとして保存します.
paramsではname, descriptionを指定でき,KMZ内のGroundOverlayの<name>要素や<description>要素として書き込まれます.
GSJ.saveURL( url,
 failename )
String,
String
なし urlで指定した内容をクライアント環境に保存します.

base64url

関数 引数の型 戻り値 説明
GSJ.base64url.encode( array ) [ Boolean, ... ] String 論理型の配列をbase64urlでエンコードします.
論理型の代わりに 0 (偽 ),1 ( 真 ) を指定することも可能です.
GSJ.base64url.decode( str ) String [ Boolean, ... ] base64urlでエンコードされた文字列をデコードします.

Map

 Mapオブジェクトは地図全体を示すオブジェクトで,GSJMapの最も基本となるオブジェクトです,

・生成関数

関数 引数の型 戻り値  説明
GSJ.map( params ) String | Object Map Mapオブジェクトを作成します.
引数には地図を描画するDOMを指定するid属性値またはパラメータオブジェクトを指定します.
省略すると<body>要素が描画要素となります.
GSJ.createMap( params ) String | Object Promise Mapオブジェクトを作成するプロミスを生成します.
引数はGSJ.map()とまったく同様です.
成功すると引数にMapオブジェクトが渡されます.
※非同期でMapオブジェクトを生成するエンジンの場合に使用するもので,Leaflet.jsやCesiumでは不要です.

 パラメータオブジェクトは以下のプロパティを持つことができます.

プロパティ デフォルト 説明
bases [ Layer | String, .. .] [ (地理院地図標準) ] 背景レイヤー(またはそれを識別するレイヤーid*)のリスト
center LatLng { lat: 0, lng: 0 } 地図の中央の地理的な位置
engine String  'leaflet'  マップエンジンを指定
'leaflet'(Leaflet.js),Cesium(Cesium)が指定できます.
home Object (center,zoomの指定による) reset()メソッド実行時に移動する中心とズームレベル 
centar(LatLng型)とzoom(Number)型からなるオブジェクト
指定がなれば,パラメータオブジェクトのcenterとzoomの値となります.
maxZoom Number  GSJ.ZOOM_LIMIT ズームレベルの最大値 
minZoom Number ズームレベルの最小値
overlays [ Layer, ... ] [ ] オーバーレイレイヤーのリスト
owner String | DOMElement body要素 地図を描画するDOMElement
文字列の場合はid属性と解釈して要素を探します
zoom Number 0 ズームレベル
*レイヤーidは,レイヤーを指定するための文字列です.デフォルトで以下のレイヤー情報とレイヤーidが予約されており,レイヤーオブジェクトを直接指定する代わりに利用できます.
'CHIRIIN_STD' ... 地理院地図(標準)
'OPEN_STREET_MAP' ... Open Street Map
'GOOGLEMAPS_LOAD' ... Googleマップ(道路)

・プロパティ

プロパティ デフォルト 生成後 説明
maxZoom Number  GSJ.ZOOM_LIMIT 参照のみ ズームレベルの最大値 
minZoom Number 参照のみ ズームレベルの最小値
promise Promise なし  参照のみ  非同期でMapオブジェクトが生成される場合に,GSJMapによりセットされます 

・メソッド

メソッド 引数の型 戻り値 説明
add( object ) Object  Object ポリライン,マーカー,ポップアップ,ジオメトリーグループ,背景レイヤー,オーバーレイレイヤー,コントローラーを追加します.
このメソッドは,引数の型に応じて対応する追加メソッド(addPolylineなど)を呼び出します.引数には,各メソッドに渡される引数をフィールドに持つオブジェクトを指定します.
addBase( layer ) Layer  Layer  背景レイヤーを追加
layerにはLayerオブジェクトを生成するためのオブジェクトリテラルを渡します.
addControler( controller ) String | Controller Controller  戻り値には追加されたコントローラが返されます.追加に失敗するとnullが返されます.
コントローラ名には'gamepad' または 'leap'が指定できます.Leafletエンジンではゲームパッドはデフォルトで使用できます.
addGeometryGroup( geometries ) [ Object, ... ]  GeometryGroup  ジオメトリーグループを追加します.
引数には Geometryオブジェクト(マーカー,ポップアップ,ポリライン,イメージ)の配列,またはGeometryGroupオブジェクトのリテラルを指定します.引数を省略すると要素を持たないGeometryGroupオブジェクトが生成されます.
戻り値には追加されたGeometryGroupオブジェクトが返されます.
addGeometryGroup( geometryGrouop )  GeometryGroup
addMarker( latLng,
 options )
LatLng,
Object
Marker 指定した位置にマーカを追加
optionsのtitleプロパティにテキストを設定すると,ツールチップとして表示されます.
optionsのpopupプロパティにテキストを設定すると,ポップアップウィンドも表示されます.leafletエンジンの場合,html要素が使用できます.
optionsのiconプロパティでIconオブジェクト指定することによりアイコンを変更することができます.
optionsでは,生成するMarkerオブジェクトのdraggableプロパティを指定することができます.
addPolyline( latLngs,
 close,
 style )
[ LatLng, ... ],
Boolean,
Style
Polyline   ポリライン(ポリゴンを含む)を追加します
latLngsに位置の配列を指定します.
closeにfalseを指定するか省略するとポリラインを描き,trueを指定すると閉じてポリゴンを描きます).
styleにはStyleオブジェクトを指定し,color(ストロークカラー), opacityをなどが設定できます.
引数に,latLngs, close, styleフィールドを持つオブジェクトを与えることもできます.
戻り値には追加されたポリライノブジェクトを返します(ただし,引数にオブジェクトを与えた場合,それはコピーされますので,戻り値のオブジェクトとは一致しません).
addPolyline( Object ) Polyline
addPopup( latLng,
 content )
LatLng,
String
Popup 指定した位置にポップアップウィンドウを追加
Popupオブジェクト(latLng, contentフィールドに値がセットされます)が返されます.
cutImage(
 bounds,
 zoom,
 filename,
 params)
Bounds,
Number,
String,
Object
Promise  boundsで指定した範囲の,ズームレベルzoomの画像を切り出します.
結果はプロミスとして返され,プロミス成功時の引数には画像が描かれたCanvasが渡されます.
bounds, zoomは省略でき,省略すると現在表示されている範囲全体とズームレベルとなります.
filenameを指定するとクライアント環境にそのファイル名でダウンロードされます(PNG形式).filenameの拡張子をkmzにすると,kmzファイルとしてダウンロードされます.この場合,さらにparamsパラメータオブジェクトを指定することができ,name, descriptionプロパティがKMZ内のGroundOverlayの<name>要素や<description>要素として書き込まれます(GSJ.mapToKMZと同様).
findBase( layer ) String | Layer Layer | [ Layer ] 
| null
背景レイヤーの検索
引数に文字列を指定した場合,idまたはtitleが一致する背景レイヤーを検索し,最初に見つかったものを返します.見つからなければnullを返します
引数にLayerオブジェクトを指定した場合,レイヤが含まれればそのレイヤー自身を返します.
引数を省略すると全ての背景レイヤーのリストを返します.
findOverlay( layer ) String | Layer Layer | [ Layer ] | null オーバーレイレイヤーの検索
引数に文字列を指定した場合,idまたはtitleが一致するオーバーレイレイヤーを検索し,最初に見つかったものを返します.見つからなければnullを返します.
引数にLayerオブジェクトを指定した場合,レイヤが含まれればそのレイヤー自信を返します.
引数を省略すると全てのオーバーレイレイヤーのリストを返します.
layerControl( show )
(未実装)
Boolean  なし レイヤーコントロールを表示( showがtrueのとき )または非表示( showがfalseのとき )
on( type,
 handler )
String,

Function
this  イベントリスナーを登録
addEvnetListnerはonとまったっく同じ機能を提供する 
addEventListener( type,
 handler )
remove( object ) Polyline なし  ポリライン,マーカー,ポップアップ,ジオメトリーグループ,オバーレイレイヤー,コントローラーを取り除きます.
removeController( controller ) Controller なし  コントローラーを削除します.
引数にはコントローラ名か生成したコントローラオブジェクトを指定します.
コントローラ名には'gamepad' または 'leap'が指定できます. 
removeBase( layer ) Layer | String なし 背景レイヤーを削除 
layerがStringの場合は,idプロパティまたはtitleプロパティの値として検索し,削除します.
現在表示されている背景を削除すると,最後に追加した背景レイヤが表示されます.
removeGeometryGroup( geometryGroup ) GeometryGroup なし 指定したGeometryGroupオブジェクトを削除します. 
removeMarker( marker ) Marker  なし 指定したマーカーを削除します
markerを省略すると全てのマーカーを削除します.
removePolyline( object ) Polyline  なし  指定したポリラインを削除します. 
引数がポリラインオブジェクトでなければ何もしません.
removePopup( popup ) Popup なし 指定したポップアップを削除します. 
removeOverlay( layer ) Layer | String なし 指定したオーバーレイレイヤーを削除します.
引数に文字列を指定すると,idまたはtitle属性として検索します.
引数を省略すると全てのオーバーレイレイヤを削除します. 
redraw() なし なし 全てのレイヤーを再描画します
※現在の実装(ver. 0.1.1)では,タイルレイヤーのみを再描画します
reset() なし なし 中心とズームレベルをホームに変更します. 
scaleControl( show )
(未実装)
Boolean なし スケールコントロールを表示( showがtrueのとき)または非表示( showがfalseのとき)
set( params,
 value )
Object | String,
Eney
Layer | Eney このオブジェクトのプロパティ値をセット
paramsがオブジェクトの場合,連想配列と解釈して各プロパティとその値を設定し,自分自身を返します.
paramsが文字列の場合,paramsをプロパティ名として,(指定されていれば)valueを設定し,最終的なプロパティ値を返します.
プロパティ名には,'bounds', 'center', 'draggable'及び'zoom'が指定できます.
paramsへのオブジェクト指定は未実装
setBase( layer ) Layer | Nmber |String Layer 背景レイヤーをlayerに変更
すでに背景として登録されているもののみが指定できます
layerがStringの場合は,idプロパティまたはtitleプロパティの値として検索し,変更します.
layerを省略すると,現在表示されている背景レイヤーを返します
setBounds( bounds )  Bounds Bounds | null 南西および北東の緯度経度を指定して,その範囲が収まりかつ最大になるように描画位置と範囲を変更
最終的な範囲を返します.
マップエンジンの状態等により情報取得に失敗することがあり,その場合はnullを返します.
setCenter( latLng,
 options )
LatLng,
Object
LatLng 地図の中心を指定
引数を省略すると現在の中心が返されます.
optionsに{ animate: false }を指定するとアニメーションを抑止します.
setDraggable( draggable ) Boolean Boolean  マウスで地図をドラッグ可能にするかを指定します.
返り値には現在の状態を返します.
setHf( f ) Number Number 高さ誇張係数を指定
引数を省略すると現在の誇張係数を返します.
2Dマップ(leaflet.js)では使用できません
setHome( home ) Object Object ホーム(reset()メソッド実行時に移動する中心とズームレベル)を設定します.
引数はcentar(LatLng型)とzoom(Number)型からなるオブジェクトです.
homeを省略すると,現在のホームを返します.
setScale( scale,
 options )
Number
Object
Number スケール (1ピクセルあたりの長さm ) を指定
引数を省略すると現在のスケールを返します.
optionsに{ animate: false }を指定するとアニメーションを抑止します
setView( view,
 options)
Object,
Object
Object 地図の表示設定を指定します.
引数は,{ centetr: LatLng, zoom: Number }で指定し,フィールドが省略された場合は現在の値となります.
引数自体を省略すると現在の表示設定を返します.
optionsに{ animate: false }を指定するとアニメーションを抑止します
setVisibility( visibility )  Boolean Boolean マップの表示・非表示をセット
引数を省略すると現在の表示状態を返します.
setZoom( zoom,
 options)
Number,
Object
Number ズームレベルをzoomに変更
変更されたズームレベルを返します. 引数を省略すると現在のズームレベルを返します.
zoomには実数値を指定できますが,Leaflet.jsなどのように整数値のズームレベルしか扱えない場合は四捨五入されます.
optionsに{ animate: false }を指定するとアニメーションを抑止します
startLocation( options ) Object なし 位置情報の取得を開始します.
options.watchにtrueを指定すると位置が変わるたびに位置情報をけとります(デフォルトfalse).options.automoveにtureを指定すると位置取得時に中心を移動します(デフォルトfalse).options.enableHighAccuracyにtrueを指定すると位置精度が上がります(デフォルトfalse).
位置情報の取得に成功すると'locationfound'イベントが発生し,失敗すると'locationerror'イベントが発生します.
stopLocation() なし なし  位置情報の取得を終了します. 

・イベント

 addEventListner()メソッドでは以下のイベントが扱え,typeプロパティの値として指定できます.

イベント 説明
click 地図上のクリックまたはタップで発生
dblclick 地図上のクリックまたはダブルタップで発生
locationfound 位置情報が取得された時に発生
locationerror 位置情報取得に失敗した時に発生
mousedown 地図上でマウスボタン押されて下がった時に発生
mouseup 地図上でマウスボタン押されて上がった時に発生
mouseover マウスが地図内に入った時に発生
mouseout マウスが地図外に出たときに発生
mousemove マウスが地図内で移動したときに発生
move マップの表示位置が変化しているときに発生
movestart マップの表示位置の変化が開始したときに発生
moveend マップの表示位置の変化が終了したときに発生
zoomstart ズームレベルの変化の直前に発生(アニメーションの開始時)
zoomend ズームレベルが変化した後に発生

 また,イベントハンドラの引数には,Eventオブジェクトが渡されます.

Layer

 Layerオブジェクトは個々のレイヤーを表します.GSJMapでは背景とオーバレイを分けて扱いますが,Layerオブジェクトの扱い自体には区別はありません.Map.addOverlay()メソッドで生成と同時に取得するなどして使用します.なお,Mapを生成するファクトリー関数( map() )の引数などでLayerオブジェクトを指定する場合は,オブジェクトリテラルとして必要なプロパティを設定するだけで利用できます.

・プロパティ

プロパティ デフォルト 生成後 説明
attribution String '' 参照のみ 帰属情報
html要素を使用できます.
attribution_url String '' 参照のみ 帰属情報に紐づけられるリンク先 
base Boolean なし  参照のみ 背景レイヤーとして使用することを明示する場合にtrueを指定します.
Map.addBase()やMap.addOverlay()を使用する限りは必要ありません.
bounds Bounds なし 参照のみ レイヤーの地理上の表示範囲を指定します.
画像レイヤーでは必須です. 
filetype String  なし 参照のみ ファイル形式を指定する文字列です.
ファイル形式は通常は自動判別されますが,このプロパティを使って明示的に指定することができます.
'kml'が指定できます.
id String ''  参照のみ レイヤーを識別するためのid
CHIRIIN_STD, GOOGLEMAPS_LAD, OPEN_STREET_MAPは予約されています.
legend [Object]  なし setLegend() 凡例情報を保持する配列です.
getPixelInfo()メソッドで使用します.
maxZoom Number GSJ.ZOOM_LIMIT 参照のみ 最大ズームレベル
minZoom Number 0 参照のみ 最小ズームレベル
opacity Number 1 setOpacity() 不透明度(0~1)
オブジェクト生成後に値を取得したり変更する場合はsetOpcaity()を使ってください.
tiling Boolean なし  参照のみ タイルイング(true)を行うか単独(false)で表示するかを指定します.
通常はurlの内容から自動判別されますが,このプロパティを使って明示的にしていすることができます.
title String ''  参照のみ レイヤーのタイトル.レイヤーコントローラなどで使用される. 
url String '' 参照のみ 地図画像ファイルのURL
visibility Boolean true  setVisibility() レイヤーの表示状態
オブジェクト生成後に値を取得したり変更する場合はsetVisibility()を使ってください.

 urlプロパティでは地図画像ファイルをURLテンプレート(タイルレイヤー)または単独のファイル名(非タイルレイヤー)で指定します.
 URLテンプレートにはタイルのX, Y座標(グーグルマップの互換)およびズームレベルを{x}, {y}, {z}の形式で埋め込むことができます.また,TMS(Tile Map Service)などで使用される赤道を原点とするY座標は{ye}として使用できます.南西端を原点とする場合のY座標は{ys}で指定できます.その他,任意の変数を{}に挟んで埋め込むことができ,その場合はLayerオブジェクトの内プロパティの値が埋め込まれます.

※urlプロパティが指定され,かつその中に「{z}」が含まれないとき,単独ファイルが指定されたとみなされます.それ以外はタイルとして描画します.

 単独のファイル名としては,ラスター画像およびKMLファイルが指定可能です.ラスター画像の場合はその範囲を示すboundsプロパティも設定する必要があります.KMLファイルで利用できる要素は,本来の仕様のごく一部です(たとえば,ネットワークリンク,アニメーション等は含みません).

・メソッド

メソッド 引数の型 戻り値 オーバーライド 説明
cutImage(
 bounds,
 zoom,
 filename,
 params)
Bounds,
Number,
String,
Object
Promise boundsで指定した範囲の,ズームレベルzoomの画像を切り出します.
結果はプロミスとして返され,プロミス成功時の引数には画像が描かれたCanvasが返されます.
bounds, zoomは省略でき,省略すると現在表示されている範囲全体とズームレベルとなります.
filenameを指定するとクライアント環境にそのファイル名でダウンロードされます(PNG形式).filenameの拡張子をkmzにすると,kmzファイルとしてダウンロードされます.この場合,さらにparamsパラメータオブジェクトを指定することができ,name, descriptionプロパティがKMZ内のGroundOverlayの<name>要素や<description>要素として書き込まれます(GSJ.mapToKMZと同様).
convertTile( canvas,
 coord )
Canvas,
Coord
なし Canvasに与えらた画像を表示用に変換
初期状態ではこのメソッドは実装されておらず,変換は行いません.
ユーザカスタマイズする場合にオーバーライドします.
Canvasには,drawTile()メソッドで画像が描かれた状態でこのメソッドが実行されます.
drawTile( canvas,
 coord )
Canvas,
Coord
なし 通常の画像ファイルの描画の代わりに,canvasに直接描画
初期状態では,coordに対応したタイルをそのまま描画します.
ユーザカスタマイズする場合にオーバーライドします.
getPixel( latLng,  zoom ) LatLng, Number Promise 緯度経度に対応するピクセルの色を取得するプロミスを発行.
取得は非同期に行われます.プロミス成功時の引数にはサイズ4の配列(RGBAの値を保持)が与えられます.
getPixelInfo( latLng,
 zoom
 property )
LatLng,
Number,
String
Promise 緯度経度に対応するピクセル情報を取得するプロミスを発行.
取得は非同期に行われます.プロミス成功時の引数には凡例情報オブジェクトが与えられます.
凡例情報オブジェクトはlegendプロパティで与えられた配列から検索し,デフォルトではcolorフィールドがピクセルの色(RGBの16進6桁表示)と一致するものを返します.propertyで別のフィールド名に変更することができます.
getTileUr( coord ) Coord 0 URLテンプレートをもとにタイル座標からタイルURLを生成
redraw() なし なし レイヤーを再描画します
set( params,
 value )
Object | String,
Eney
Layer | Eney レイヤーのプロパティをセット
paramsがオブジェクトの場合,連想配列と解釈して各プロパティとその値を設定し,自分自身を返します.
paramsが文字列の場合,paramsをプロパティ名として,(指定されていれば)valueを設定し,最終的なプロパティ値を返します.
セット後に内部でredraw()が呼ばれます
setLegend( legend ) [Object] |
String
[Object]  レジェンドを設定し,最終的なレジェンドを返します.引数に文字列を指定した場合は,JSONファイルとして読み込みます.
setOpacity( opacity )  Number Number  不透明度を設定(引数を指定した場合)し,最終的な不透明度を返します
setVisibility( visibility ) Boolean Boolean レイヤーの表示・非表示をセット
すでに背景レイヤーまたはオーバーレイレイヤーとして登録されている場合のみ有効

※「オーバーライド」に「可」としたメソッドは,オーバーライドすることにより動作を変更できます.ただし,オーバーライドはメソッド生成時(map()関数,addBase()関数, addOverlay()関数呼び出し時)にのみ行えます.

Marker

 Markerオブジェクトは地図上に表示するマーカーを表します.Makerオブジェクトの生成は,Map.addMarker()メソッドでお行います.

・プロパティ

プロパティ デフォルト 生成後 説明
latLng LatLng 必須 setLatLng() ポップアップを表示する地理上の位置
draggable Boolean  false 参照のみ ドラッグ可能とするか否か 
icon Icon なし  参照のみ マーカーアイコン
opacity Number  1 setOpacity 不透明度 
original Object なし 参照のみ  (存在すれば)地図ライブラリが生成する固有のオブジェクトです.
vsibility Boolean true setVisiblity 表示するか 

・メソッド

メソッド 引数の型 戻り値 説明
closePopup() なし ポップアップウィンドウを閉じます  
openPopup() なし ポップアップウィンドウを表示します
表示する内容は,Marker生成時にpamras.popupプロパティに設定しておく必要があります.
set( key,
 value )
String,
Eney 
Eney このオブジェクトのプロパティ値をセット
keyをプロパティ名として,(指定されていれば)valueを設定し,最終的なプロパティ値を返します.
プロパティ名には,'latLng', 'opacity', 'popup', 'visibilityが指定できます.
setLatLng( latLng ) LatLng LatLng 表示する位置を変更します
引数は省略することができ,省略すると現在設定されている位置返します
setOpacity( opacity ) Number opacity 不透明度を設定します.
引数は省略することができ,省略すると現在設定されている不透明度を返します 
setPopup( popup ) String String ポップアップで表示するhtml文字列を設定します.
引数は省略することができ,省略すると現在設定されている文字列を返します
setVisibility( visibility ) Boolean true 表示するか.
引数は省略でき,省略すると現在表示されているか否かを返します. 

Icon

 Iconオブジェクトはマーカーで使用する画像を表します.Iconオブジェクトの生成は,Map.addMarker()の中で,parms.iconプロパティの設定をもとに行なわれます.

・プロパティ

プロパティ デフォルト 説明
url String 必須 画像ファイルの絶対または相対パスを指定します
size Point なし アイコンのサイズをピックセルで指定します
anchor Point なし アンカーの位置を左上を原点とする座標値で指定します

Popup

 Popupオブジェクトは地図上にポップアップ(吹き出し)を表示します.Popupの生成はMap.add()またはMap.addPopup()メソッドで行います.削除はMap.remove()またはMap.removePolyline()オブジェクトで行います.
 なお,GSJMapでは,ポップアップは常に1つしか表示されません.
 Markerに直接関連付けるポップアップを表示するときは,Marakerのpopupプロパティを使います.

・プロパティ

プロパティ デフォルト 説明
latLng LatLng 必須 ポップアップを表示する地理上の位置
content String 必須 アイコンのサイズをピックセルで指定します
original Object なし (存在すれば)地図ライブラリが生成する固有のオブジェクトです.

Polyline

 Polylineオブジェクトは地図上に描画するポリライン(ポリゴンを含む)を表します.Polylineの生成は,Map.add()または,Map.addPolyline()で行います.削除はMap.remove()またはMap.removePolyline()メソッドで行います.

・プロパティ

プロパティ デフォルト 生成後 説明
close Boolean false 参照のみ 始点と終点をつなぐ(ポリゴン)かいなかを指定します
latLngs [ latLng, ... ] 必須 setLatLngs()
addLatLng()
地理上の点の配列を与えます
style Style なし 参照のみ 描画スタイルを設定します
original Object なし  参照のみ (存在すれば)地図ライブラリが生成する固有のオブジェクトです.
add()またはaddPolyline()メソッドで地図上に追加された際に,GSJMapにより設定されます
visibility Booelan  true  setVisibility() 表示状態

・メソッド

メソッド 引数の型 戻り値 説明
on( type
 handler )
String
function
this イベントリスナーを登録
addEvnetListnerはonとまったっく同じ機能を提供する 
addEventListener( type,
 handler )
addLatLng LatLng | [ Number, Number ] LatLng  点を追加し,追加した点を返します.
set( key,
 value )
String
Eney
Eney このオブジェクトのプロパティ値をセット
keyをプロパティ名として,(指定されていれば)valueを設定し,最終的なプロパティ値を返します.
プロパティ名には,'latLngs', 'visibility'が指定できます.
setVisibility( visibility ) Boolean Boolean 表示するか否かを指定します.
引数は省略でき,省略すると現在表示されているか否かを返します. 
setLatLngs( latLngs ) [ LatLng, ... ] [ latLng, ... ] 地理上の点の配列を設定します.
引数を省略すると現在設定されている配列を返します.

Style

 StyleオブジェクトはPolylineのスタイルを設定します.

・プロパティ

オプション デフォルト 説明
stroke String '#000' ストロークの色または'none'(線を描画しない)
strokeOpacity Number 1 ストロークの不透明度
strokeWidth Number 1 ピクセル単位のストロークの幅
dashArray String nrull ストロークダッシュパターン
fill String 'none' 塗りつぶしの色または'none'(パス内を塗りつぶさない)
fillOpacity Number 1 塗りつぶしの不透明度
lineCap String null ストロークの端で使われる形
lineJoin String null ストロークの曲がり角で使われる形

GeometryGroup

 GeometryGroupオブジェクトは地図上に描画する複数のオブジェクト(マーカー,ポップアップ,ポリライン,イメージ)をまとめるためのジオメトリーグループを表現します.GeometryGroupの生成は,Map.add()または,Map.addGeometryGroup()メソッドで行います.削除はMap.remove()またはMap.removeGeometry()メソッドで行います.

・プロパティ

プロパティ デフォルト 生成後 説明
geometries [ Object, ... ] [] add(), remove() 登録したGeometryの配列
visibility Booelan  true  setVisibility() 表示状態

・メソッド

メソッド 引数の型 戻り値 説明
add( geometry ) Object Object 新しい描画オブジェクトを追加します.
引数にはオブジェクトを表現するリテラルを指定でき,指定方法はMap.add()メソッドと同様です.
戻り値には追加されたオブジェクトを返します.
remove( geometry ) Object なし 追加した描画オブジェクトを削除します.
引数を省略するとすべてのオブジェクトを削除します.
setVisibility( visibility ) Boolean Boolean 表示するか否かを指定します.
引数は省略でき,省略すると現在表示されているか否かを返します. 

Controller

 Controllerオブジェクトは,ゲームパッドやLeap Motionなどの入力デバイスを表現します.
 通常はMap.addController()関数の引数にコントローラ名を指定して生成します.コントローラ名には'gamepad'または'leap'を指定できます.

・プロパティ

オプション デフォルト 説明
id String なし コントローラー名.'gamepad'または'leap'

Geocorder

 地名等と緯度経度の変換を行うジオコーダオブジェクトです.

・ファクトリー関数

関数 引数の型 戻り値 説明
GSJ.geocoder() なし Geocorder Geocoderオブジェクト生成します

・メソッド

メソッド 引数の型 戻り値 説明
geocode( addr,
 params)
String,
 Object
Promise  addrで指定した地名を検索するプロミスを発行します.
paramsには,検索時に使用するパラメータオブジェクトを指定します.パラメータオブジェクトではboundsプロパティが指定でき,南西および北東の緯度経度を指定して範囲を限定できます.
プロミス成功時には,結果を格納するオブジェクトが渡されます.

・geocode()メソッドの結果オブジェクト

 gecode()で取得できる結果オブジェクトは,resultsフィールドを持ちます.このフィールドは以下のプロパティを持つオブジェクトの配列です.

プロパティ 説明
title String 住所,地名など
latLng LatLng 位置

Promise

 プロミス(Promise)オブジェクトは,非同期処理で有効な仕組みを提供するためのオブジェクトで,その時点ではまだ完了していない処理を表現します.ほかのライブラリではfuture, delayと呼ばれることもあります.
 GSJMapでは,画像の読み込みや標高データの読み込みで利用され,しばしば戻り値としてプロミスオブジェクトが返されます.通常の利用では,このオブジェクトのthen()メソッドを使って,プロミス完了時(成功時や失敗時)の処理を登録するだけで利用できます.
 GSJ.promise()を使て自作のプロミスを生成させることができます.この場合,プロミスオブジェクトのresolve(),reject()メソッドを使って,成功時や失敗時をプロミスに通知する必要があります.GSJ.allPromise()関数を使て複数のプロミスがすべて終わった時点に動作するプロミスを生成することができます.

・ファクトリー関数

関数 引数 戻り値 説明
GSJ.promise( starter ) Function Promise Promiseオブジェクト生成します.
starterには,対象とする非同期処理を行う関数を記述します.
starter関数は2つのコールバック関数を引数(resolve, reject)にとり,非同期処理に成功した場合はresolve, 失敗した場合はrejectを呼び出します.

・メソッド

メソッド 引数の型 戻り値 説明
reject() any なし プロミス失敗を通知
引数はすべてそのままthen()メソッドのerrorで指定した失敗時の処理関数に渡されます.
resolve() any なし プロミス成功を通知
引数はすべてそのままthen()メソッドのsuccessで指定した成功時の処理関数に渡されます.
then( sucess,
 error )
Function,
Function
Promise プロミス完了時(成功または失敗時)の処理を設定
成功するとsucess,失敗するとerrorで指定した関数が実行されます.
戻り値には,成功・失敗の処理後に実行されるプロミスを返します

・関連関数

関数 引数の型 戻り値 説明
GSJ.promiseAll( promise1, promise2, ... ) Promise, ... Promise すべての子プロミスが成功したときに成功となるプロミスを生成します
子プロミスは可変引数として与えるか,配列として与えます. 成功したとき結果は全てのプロミスから得られた値の配列として渡されます.失敗したとき、直ちに失敗したプロミスの結果をもって失敗が返されます.
GSJ.promiseAll( promiselist. ) [ Promise, ...]
GSJ.promiseFinishing( promise1, promise2, ... ) Promise, .. Promise すべての子プロミスの完了(成功または失敗)したときに成功となるプロミスを生成します.
子プロミスは可変引数として与えるか,配列として与えます.
結果は全てのプロミスから得られた値(失敗の場合はundefined)の配列として渡されます.
GSJ.promiseFinishing( promiselist. ) [ Promise, ...] Promise
GSJ.allPromise( promise1, promise2, ... )
(廃止予定)
Promise, ,.. Promise すべての子プロミスの終了を監視するプロミスを生成
子プロミスは可変引数として与えるか,配列として与えます.
※名称がES6の「Promise.all()」と紛らわしいため,ver 0.1.1ではpromiseFinishing()に変更しました
GSJ.allPromise( promiselist ) 
(廃止予定)
[ Promise, ...]

2014年10月21日更新