S-map - API

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

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

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

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

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

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

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

名前空間と定数

Smap

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

※古いバージョンとの互換性のために,Smapの代わりにGSJをもちいることができます.ただし,この機能は将来的には廃止される予定です.

定数

定数 説明
Smap.DEFAULT_BASE (地理院地図標準,https) デフォルトの背景地図 
Smap.BLANK_MAP (無地の背景例イヤー)  無地の背景イヤーオブジェクト(このレイヤーはfillStyleで背景色を変更できます)
Smap.DEFAULT_ENGINE 'leaflet' デフォルトのマップエンジン名
Smap.DEFAULT_GEOCODER 'csis' デフォルトのジオコーダー 
Smap.EARTH_R  6378137 地球の長半径(WGS84, 単位m)
Smap.ZOOM_LIMIT 24 このライブラリで利用できるズームレベルの限界値

汎用オブジェクト

Coord

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

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

LatLng

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

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

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

Point

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

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

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

Bounds

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

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

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

View

 地図の表示状態を表します.

プロパティ 必須 説明
center LatLng 中央の地理座標
zoom Number ズームレベル
azimuth Number   地図の方位角(360度表記,0~360,北が0で時計回りに大きくります.
dip Number 地図の傾き (360度表記,-90~90).0で水平.
後方から見るように傾く場合は正前方から見るように傾く場合は負とします.

Event

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

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

汎用関数

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

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

地理座標変換

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

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

関数 引数の型 戻り値 説明
Smap.zoomToScale( zoom,
 lat )
Number,
Number
Number ズームレベルをスケール(m/ピクセル)に変換します.
変換には緯度(360度法)も必要です
Smap.scaleToZoom( scale,
 lat )
Number,
Number
Number スケール(m/ピクセル)をズームレベルに変換します.
変換には緯度(360度法)も必要です
Smap.zoomYToScale( zoom,
 y ) 
Number,
Number
Number  ズームレベルとポイントY座標に対応するスケール(m/ピクセル)を返します.

標高

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

マップエンジン

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

ファイルのロード

関数 引数の型 戻り値 説明
Smap.loadArrayBuffer( url,
 headers )
String,
Object
Promise urlで指定したファイルをArrayBufferとしてロードするプロミスを生成します.
headersは省略化で,リクエスト追加するヘッダを連想配列で指定します.
プロミス成功時の引数にはArrayBufferオブジェクトが渡されます.
プロミス失敗時の引数にはエラーレスポンスオブジェクト(msgとstatuscodeプロパティを持つ)が渡されます.
urlは同一生成元か,CORS設定がされている必要があります
Smap.loadBLOB( url,
 headers )
Smap.loadBlob( url,
 headers ) 廃止予定
String,
Object
Promise urlで指定したファイルをBlobとしてロードするプロミスを生成します.
headersは省略化で,リクエスト追加するヘッダを連想配列で指定します.
プロミス成功時の引数にはBlobオブジェクトが渡されます.
プロミス失敗時の引数にはエラーレスポンスオブジェクト(msgとstatuscodeプロパティを持つ)が渡されます.
urlは同一生成元か,CORS設定がされている必要があります 
Smap.loadCSV( url,
 sep, headers ) 
String,
String,
Object
Promise CSVファイルをロードするプロミスを生成します.
headersは省略化で,リクエスト追加するヘッダを連想配列で指定します.
プロミス成功時の引数には2重配列としてデータが渡されます.
プロミス失敗時の引数にはエラーレスポンスオブジェクト(msgとstatuscodeプロパティを持つ)が渡されます.
sepは項目の区切り文字を指定します.省略すると','となります.
Smap.loadImage( url,
 params )
String,
Object
Promise  画像ファイルをロードするプロミスを生成します.paramsを設定すると,内部生成するImageオブジェクトに設定されます.プロミス成功時の引数にはImageオブジェクトが渡されます.
プロミス失敗時の引数にはエラーレスポンスオブジェクト(msgとstatuscodeプロパティを持つ)が渡されます.
Smap.loadImagePixel( url,
 i,
 j ) 
String,
Number,
Number
Promise  画像ファイルの位置(i,j)のデータロードするプロミスを生成します.
プロミス成功時の引数にはピクセルデータ(R,G,B,Aの4成分の配列データ),またはi,j画像範囲外の場合はnullが渡されます(仕様変更 2014-10-29)
プロミス失敗時の引数にはエラーレスポンスオブジェクト(msgとstatuscodeプロパティを持つ)が渡されます.
Smap.loadPNGZip( url,
 headers )
Smap.loadPngZip( url,
 headers ) 廃止予定
String,
Object
Promise 単体のpngファイルをzip圧縮したものをロードするプロミスを生成します.
headersは省略化で,リクエスト追加するヘッダを連想配列で指定します.
プロミス成功時の引数にはimgオブジェクトが渡されます.
プロミス失敗時の引数にはエラーレスポンスオブジェクト(msgとstatuscodeプロパティを持つ)が渡されます.
urlは同一生成元か,CORS設定がされている必要があります
この関数は,pngファイルが圧縮されて受信されてしまうような環境においてそれを回避するために使用します.
Smap.loadJSON( url.
 headers ) 
String,
Object 
Promise JSONファイルをロードするプロミスを生成します.
headersは省略化で,リクエスト追加するヘッダを連想配列で指定します.
プロミス成功時の引数にはJSONオブジェクトが渡されます.
プロミス失敗時の引数にはエラーレスポンスオブジェクト(msgとstatuscodeプロパティを持つ)が渡されます.
urlは同一生成元か,CORS設定がされている必要があります
Smap.loadText( url,
 headers ) 
String,
Object
Promise テキストファイルをロードするプロミスを生成します.
headersは省略化で,リクエスト追加するヘッダを連想配列で指定します.
プロミス成功時の引数にはテキストが渡されます.
プロミス失敗時の引数にはエラーレスポンスオブジェクト(msgとstatuscodeプロパティを持つ)が渡されます.
urlは同一生成元か,CORS設定がされている必要があります
Smap.loadXML( url,
 headers )
String,
Object
Promise urlで指定したXMLファイルをロードするプロミスを生成します.
headersは省略化で,リクエスト追加するヘッダを連想配列で指定します.
プロミス成功時の引数にはxmlオブジェクトが渡されます.
プロミス失敗時の引数にはエラーレスポンスオブジェクト(msgとstatuscodeプロパティを持つ)が渡されます.
urlは同一生成元か,CORS設定がされている必要があります
Smap.loadXML( url,
 type,
 headers ) 
String,
String
Object
Promise urlで指定したファイルをXMLHttpRequestを使ってロードするプロミスを生成します.
typeには,'arraybuffer', 'blob', 'document', 'text'(デフォルト), 'json'が指定可能です.
headersは省略化で,リクエスト追加するヘッダを連想配列で指定します.
プロミス成功時の引数にはtypeに従ったオブジェクトが渡されます.
プロミス失敗時の引数にはエラーレスポンスオブジェクト(msgとstatuscodeプロパティを持つ)が渡されます.
urlは同一生成元か,CORS設定がされている必要があります
※iOS(Safari, Chorme)では,CORS設定がされていてもloadJSON, loadText, loadXMLで読み込むことができないようです.

URLの保存

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

base64url

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

Map

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

・生成関数

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

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

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

・プロパティ

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

・メソッド ( レイヤー操作 )

メソッド 引数の型 戻り値 説明
addBase( layer ) Layer  Layer  背景レイヤーを追加
layerにはLayerオブジェクトを生成するためのオブジェクトリテラルを渡します.
addOverlay( layer ) Layer Layer オバーレイレイヤを追加
layerにはLayerオブジェクトを生成するためのオブジェクトリテラルを渡します.
findBase( layer ) String | Layer Layer | [ Layer ] 
| null
背景レイヤーの検索
引数に文字列を指定した場合,idまたはtitleが一致する背景レイヤーを検索し,最初に見つかったものを返します.見つからなければnullを返します
引数にLayerオブジェクトを指定した場合,レイヤが含まれればそのレイヤー自身を返します.
引数を省略すると全ての背景レイヤーのリストを返します.
findOverlay( layer ) String | Layer Layer | [ Layer ] | null オーバーレイレイヤーの検索
引数に文字列を指定した場合,idまたはtitleが一致するオーバーレイレイヤーを検索し,最初に見つかったものを返します.見つからなければnullを返します.
引数にLayerオブジェクトを指定した場合,レイヤが含まれればそのレイヤー自信を返します.
引数を省略すると全てのオーバーレイレイヤーのリストを返します.
getBase() なし Layer 現在表示されている背景レイヤーを返します.
removeBase( layer ) Layer | String なし 背景レイヤーを削除 
layerがStringの場合は,idプロパティまたはtitleプロパティの値として検索し,削除します.
現在表示されている背景を削除すると,最後に追加した背景レイヤが表示されます.
removeOverlay( layer ) Layer | String なし 指定したオーバーレイレイヤーを削除します.
引数に文字列を指定すると,idまたはtitle属性として検索します.
引数を省略すると全てのオーバーレイレイヤを削除します. 
setBase( layer ) Layer |String | Nmber Layer  背景レイヤーをlayerに変更
すでに背景として登録されているもののみが指定できます.
layerがStringの場合は,idプロパティまたはtitleプロパティの値として検索し,変更します.
layerがNumberの場合は,登録されている背景レイヤーの通し番号として解釈して背景レイヤーを指定します.
layerを省略すると,現在表示されている背景レイヤーを返します

・メソッド ( 状態の取得と変更 )

メソッド 引数の型 戻り値 説明
get( key ) String Layer | Eney keyをプロパティ名とするプロパティ値を返します.
プロパティ名には,'bounds', 'center', 'draggable'及び'zoom'が指定できます.
getBounds() なし Bounds | null 地図が表示している範囲を返します.
※Cesiumeエンジンではサポートされません
getCenter()  なし LatLng 地図の中心を返します
getDraggable() なし Boolean マウスで地図をドラッグ可能な場合はTrueを返します.
getHf() なし Number 高さ誇張係数を返します(2Dでは使用できません) 
getHome() なし View ホーム(reset()メソッド実行時の地図の表示状態)を返します.
getScale() なし Number スケール (1ピクセルあたりの長さm ) を返します.
getView() なし View 地図の表示状態を返します.
getVisibility()  なし Boolean マップが表示状態ならばTrueを返します.
getZoom() なし Number ズームレベルを返します.
redraw() なし this 全てのレイヤーを再描画します
※現在の実装(ver. 0.1.1)では,タイルレイヤーのみを再描画します
reset() なし this 地図の表示状態を「ホーム」に変更します. 
scaleControl( show )
廃止予定
Boolean なし スケールコントロールを表示( showがtrueのとき)または非表示( showがfalseのとき)
代わりにaddControl, removeControlを使用してください
set( params,
 value )
Object | String,
Eney
Layer | Eney このオブジェクトのプロパティ値をセット
paramsがオブジェクトの場合,連想配列と解釈して各プロパティとその値を設定し,自分自身を返します.
paramsが文字列の場合,paramsをプロパティ名として,(指定されていれば)valueを設定し,最終的なプロパティ値を返します.
プロパティ名には,'bounds', 'center', 'draggable'及び'zoom'が指定できます.
paramsへのオブジェクト指定は未実装
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 ) View View ホーム(reset()メソッド実行時の表示状態)を設定します.
homeを省略すると,現在のホームを返します.
setScale( scale,
 options )
Number
Object
Number スケール (1ピクセルあたりの長さm ) を指定
引数を省略すると現在のスケールを返します.
optionsに{ animate: false }を指定するとアニメーションを抑止します
setView( view,
 options)
View,
Object
地図の表示設定を指定します.
viewでは,値が省略された場合は現在の値となります.
optionsで指定するオブジェクトで,animateプロパティに false を指定するとアニメーションを抑止します.全ての引数を省略すると現在の表示設定を返します.
※optionsのpitchプロパティにはカメラのピッチ角(360度法)を指定できます(デフォルトは-90)は,廃止予定
setVisibility( visibility )  Boolean Boolean マップの表示・非表示をセット
引数を省略すると現在の表示状態を返します.
setZoom( zoom,
 options)
Number,
Object
Number ズームレベルをzoomに変更
変更されたズームレベルを返します. 引数を省略すると現在のズームレベルを返します.
zoomには実数値を指定できますが,Leaflet.jsなどのように整数値のズームレベルしか扱えない場合は四捨五入されます.
optionsに{ animate: false }を指定するとアニメーションを抑止します

・メソッド ( 描画オブジェクトの追加と削除)

メソッド 引数の型 戻り値 説明
add( object ) Object  Object ポリライン,マーカー,ポップアップ,ジオメトリーグループ,背景レイヤー,オーバーレイレイヤー,コントローラーを追加します.
このメソッドは,引数の型に応じて対応する追加メソッド(addPolylineなど)を呼び出します.引数には,各メソッドに渡される引数をフィールドに持つオブジェクトを指定します.
addControl( control ) Control Control controlで指定したコントロールを追加し,追加したオブジェクトを返します.
引数にはControlオブジェクトのリテラル表現,またはそれらのプロパティを直接指定します.
idは必須で,'attribution', 'layer', 'scale', 'zoom'を指定した場合はそれぞれ既定のアトリビューション,レイヤー,スケール,ズームコントロールが表示されます.それ以外を指定した場合は自作コントロールとなり,contenstで指定した内容が表示されます.contentsではHTMLElementまたはid属性値を指定できます.
positionは表示位置を'topleft', 'topright', 'bottomleft', 'bottomright'から指定します.省略可能で省略した場合はデフォルトの位置に配置されます(基底のコントロールはそれぞれデフォルト位置が異なります.自作のコントロールの場合は'bottomright'です) 
addControl( id,
 position,
 contents )
String
String,
HTMLElement | String 
Control
addGeometryGroup( geometries ) [ Object, ... ]  GeometryGroup  ジオメトリーグループを追加します.
引数には Geometryオブジェクト(マーカー,ポップアップ,ポリライン,イメージ)の配列,またはGeometryGroupオブジェクトのリテラルを指定します.引数を省略すると要素を持たないGeometryGroupオブジェクトが生成されます.
戻り値には追加されたGeometryGroupオブジェクトが返されます.
addGeometryGroup( geometryGrouop )  GeometryGroup
addMarker( latLng,
 options )
LatLng,
Object
Marker 指定した位置にマーカを追加
optionsの機能は以下の通り地図描画エンジンに依存します.
(Leafletエンジン)
titleプロパティにテキストを設定すると,ツールチップとして表示されます.
popupプロパティにテキストまたはPopupオブジェクトを設定すると,ポップアップウィンドが表示されます.html要素が使用できます.
iconプロパティでIconオブジェクト指定することによりアイコンを変更することができます.
draggableプロパティにtrueを指定するとMarkerがドラッグできるようになります.
のzIndexOffsetプロパティにおおきめの正の整数(たとえば1000)を設定すると,他の要素よりも前面に描画させることができます.負の大きい整数の場合は背面に描画させます.
(Cesiumエンジン)
titleプロパティにテキストを設定すると,クリックしたときに表示されるウィンドウにタイトルとして表示されます.
popupプロパティにテキストまたはPopupオブジェクトを設定すると,クリックしたときに表示されるウィンドウのコンテンツとして表示されます.html要素が使用できます.
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  指定した位置にポップアップウィンドウを追加します.
latLngには表示位置をしています.
contentには表示させる文字列を指定します.
Popupオブジェクトが返されます. 
addPopup( Object ) Popup 
layerControl( show )
廃止予定
Boolean  なし レイヤーコントロールを表示( showがtrueのとき )または非表示( showがfalseのとき )
代わりにaddControl, removeControlを使用してください
remove( object ) Polyline なし  ポリライン,マーカー,ポップアップ,ジオメトリーグループ,オバーレイレイヤー,コントローラーを取り除きます.
removeControl( control ) String | Control  なし  controlで指定したコントロールを削除します. 
controlでは,idプロパティの値('attribution', 'layer', 'scale', 'zoom'等)またはConrol
オブジェクト自身が指定できます.
removeGeometryGroup( geometryGroup ) GeometryGroup なし 指定したGeometryGroupオブジェクトを削除します. 
removeMarker( marker ) Marker  なし 指定したマーカーを削除します
markerを省略すると全てのマーカーを削除します.
removePolyline( object ) Polyline  なし  指定したポリラインを削除します. 
引数がポリラインオブジェクトでなければ何もしません.
removePopup( popup ) Popup なし 指定したポップアップを削除します. 

・メソッド ( そのほか: コントローラ,イベント,位置情報など )

メソッド 引数の型 戻り値 説明
addControler( controller ) String | Controller Controller  戻り値には追加されたコントローラが返されます.追加に失敗するとnullが返されます.
コントローラ名には'gamepad' または 'leap'が指定できます.Leafletエンジンではゲームパッドはデフォルトで使用できます.
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>要素として書き込まれます(Smap.mapToKMZと同様).
(2014-10-30現在,画像レイヤー,KMLレイヤーは取得できません)
exec( action,
 factor,
 timestamp )
Object | Function
Number,
Number
なし  actionで指定した動作を実行します.
主にコントローラから利用されます.
actionには動作を指定するオブジェクトまたは関数を,factorにはスピードを調整する係数を,timestampにはタイムスタンプを指定します.
詳細は「・アクション」を参照してください.
on( type,
 handler )
String,
Function
this  イベントリスナーを登録
(ただし,Cesiumエンジンでは複数のリスナーを追加できないため,最後に登録したイベントリスナーだけが有効になります)
addEvnetListnerはonとまったっく同じ機能を提供します.
addEventListener( type,
 handler )
off( type,
 handler )
String,
Function
this  イベントリスナーを削除
(ただし,Cesiumエンジンでは複数のリスナーを追加できないため,handlerの指定によらず最後に追加したものを削除します)
removeEvnetListnerはoffとまったっく同じ機能を提供します.
removeEventListener( type,
 handler )
removeController( controller ) Controller なし  コントローラーを削除します.
引数にはコントローラ名か生成したコントローラオブジェクトを指定します.
コントローラ名には'gamepad' または 'leap'が指定できます. 
startLocate( options ) Object this 位置情報の取得を開始します.
options.watchにtrueを指定すると位置が変わるたびに位置情報を受け取ります(デフォルトfalse).options.automoveにtureを指定すると位置取得時に中心を移動します(デフォルトfalse).options.enableHighAccuracyにtrueを指定すると位置精度が上がります(デフォルトfalse).
位置情報の取得に成功すると'locationfound'イベントが発生し,失敗すると'locationerror'イベントが発生します.
※2016年以降のブラウザでは,http接続の場合セキュリティーエラーが発生することがあります.
stopLocate() なし this  位置情報の取得を終了します. 

・イベント

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

イベント 説明
click 地図上のクリックまたはタップで発生
dblclick 地図上のクリックまたはダブルタップで発生
locationfound 位置情報が取得された時に発生
locationerror 位置情報取得に失敗した時に発生
イベントオブジェクトにはcodeとmessage属性が設定されます.
code 0: 不明なエラー,code 1: GolocationAPIの使用が許可されない,
code 2: 位置情報が取得できない,code 3: タイムアウトエラー
mousedown 地図上でマウスボタン押されて下がった時に発生
mouseup 地図上でマウスボタン押されて上がった時に発生
mouseover マウスが地図内に入った時に発生
mouseout マウスが地図外に出たときに発生
mousemove マウスが地図内で移動したときに発生
move マップの表示位置が変化しているときに発生
movestart マップの表示位置の変化が開始したときに発生
moveend マップの表示位置の変化が終了したときに発生
zoomstart ズームレベルの変化の直前に発生(アニメーションの開始時)
zoomend ズームレベルが変化した後に発生

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

Layer

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

・プロパティ

プロパティ デフォルト 生成後 説明
attribution String '' 参照のみ 帰属情報
html要素を使用できます.
attributionUrl String  ''  参照のみ  帰属情報に紐づけられるリンク先  
attribution_url廃止予定
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()メソッドで使用します.
配列の各要素はそれぞれの凡例単元に相当し,デフォルト設定ではfillプロパティにRGBの16進6桁表現か,またはRGB整数値(R*256*256+G*256+B)を持ちます.
maxNativeZoom Number なし 参照の実 タイルソースで利用できる最大ズームレベル.この指定がある場合,この指定値を超えてmaxZoom以下のズームレベルのタイルは,この指定値のズームレベルのタイルを拡大して描画されます.
(画像レイヤーKMLでレイヤーでは使用しません)
※Leafletエンジンの場合,boundsを指定すると利用できなくなります.
※drawTile()やconvertTile()を記述した場合,Leaflet 0.6.4では動作しません.
 Leaflet 0.7.3での動作を確認しています.
maxZoom Number Smap.ZOOM_LIMIT 参照のみ 最大ズームレベル
minZoom Number 0 参照のみ 最小ズームレベル
opacity Number 1 setOpacity() 不透明度(0~1)
オブジェクト生成後に値を取得したり変更する場合はsetOpcaity()を使ってください.
tileSize Number 256  参照のみ 1つのタイルのピクセルサイズです. 
tilingがtrueの時に有効です.
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ファイルで利用できる要素は,本来の仕様の一部です(たとえば,ネットワークリンク,アニメーション等は含みません).また,kmzを利用する場合はJSZipが必要で,中身がdoc.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>要素として書き込まれます(Smap.mapToKMZと同様).
(2014-10-30現在,画像レイヤー,KMLレイヤーでは取得できません)
convertTile( canvas,
 coord )
Canvas,
Coord
Promise Canvasに与えらた画像を表示用に変換
初期状態ではこのメソッドは実装されておらず,変換は行いません.
ユーザカスタマイズする場合にオーバーライドします.
Canvasには,drawTile()メソッドで画像が描かれた状態でこのメソッドが実行されます.
処理内に非同期部分を含む場合は,処理がすべて終わった時に成功となるプロミスを返さなければなりません(非同期部分を含まない場合は必要ありません).
drawTile( canvas,
 coord )
Canvas,
Coord
Promise 通常の画像ファイルの描画の代わりに,canvasに直接描画
初期状態では,coordに対応したタイルをそのまま描画します.
ユーザカスタマイズする場合にオーバーライドします.
処理内に非同期部分を含む場合は,処理がすべて終わった時に成功となるプロミスを返さなければなりません(非同期部分を含まない場合は必要ありません).
get( key ) String Layer | Eney   keyをパラメータとするレイヤーのプロパティを取得します.
getLegend() なし [ Object... ]    レジェンドを返します.
getOpacity() なし Number    レイヤーの不透明度を返します.
getPixel( latLng,  zoom ) LatLng, Number Promise 緯度経度に対応するピクセルのRGB値色を取得するプロミスを発行.
取得は非同期に行われます.プロミス成功時の引数にはサイズ4の配列(RGBAの値を保持)が与えられます(ただし,単独のラスター画像を使用している場合,画像範囲を超えるとnullが与えられます).
タイルレイヤーの場合,相当するタイル画像がない場合はプロミスが失敗します.
※iPadなど一部のデバイスでは画像ファイルが大きすぎる(400kb以上?)と取得に失敗しますが,この場合エラーは発生せず[0, 0, 0, 0]が返ります.
getPixelRGB( latLng,  zoom ) LatLng, Number Promise    緯度経度に対応するピクセルの色を取得するプロミスを発行.
取得は非同期に行われます.プロミス成功時の引数にはRGB整数値(色を24bit整数に変換したもの,R*256*256+G*256+B)の値が与えられます(ただし,単独のラスター画像を使用している場合,画像範囲を超えるとnullが与えられます).
タイルレイヤーの場合,相当するタイル画像がない場合はプロミスが失敗します.
getPixelInfo( latLng,
 zoom
 test )
2014-10-23仕様変更
LatLng,
Number,
function
Promise 緯度経度に対応するピクセル情報を取得するプロミスを発行.
取得は非同期に行われます.プロミス成功時の引数には凡例情報オブジェクトが与えられます.
凡例情報オブジェクトはlegendプロパティで与えられた配列から検索し,デフォルトではfillフィールドがピクセルの色(RGBの16進6桁表示またはRGB整数値)と一致するものを返します.testでは別の条件式を関数で設定できます.test()関数は第1引数に凡例情報オブジェクト,第2に引数RGB整数値(=R*256*256+G*256+B)を受けとり一致する場合にtrueを返す関数を指定します.
getTileUr( coord ) Coord 0 URLテンプレートをもとにタイル座標からタイルURLを生成
getUrl() なし String    レイヤーのurlテンプレートを取得
getVisibility() なし  Boolean   レイヤーが表示状態ならTrueを返します.
redraw() なし this レイヤーを再描画します
set( params,
 value )
Object | String,
Eney
Layer | Eney レイヤーのプロパティをセット
paramsがオブジェクトの場合,連想配列と解釈して各プロパティとその値を設定し,自分自身を返します.
paramsが文字列の場合,paramsをプロパティ名として,(指定されていれば)valueを設定し,最終的なプロパティ値を返します.
セット後に内部でredraw()が呼ばれます
setLegend( legend ) [ Object... ] |
String
[ Object... ]  レジェンドを設定し,最終的なレジェンドを返します.引数に文字列を指定した場合は,JSONファイルとして読み込みます.
setOpacity( opacity )  Number Number  不透明度を設定(引数を指定した場合)し,最終的な不透明度を返します
setUrl( url ) String String  レイヤーのurlテンプレートをセット
setVisibility( visibility ) Boolean Boolean レイヤーの表示・非表示をセット
すでに背景レイヤーまたはオーバーレイレイヤーとして登録されている場合のみ有効

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

Marker

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

・プロパティ

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

・メソッド

メソッド 引数の型 戻り値 説明
closePopup() なし this ポップアップウィンドウを閉じます(Leafletエンジンのみ)
get( key ) String Eney keyをプロパティ名とするプロパティ値を返します.
getLatLng() なし LatLng 表示位置を返します.
getOpacity() なし Number 不透明度を返します(Leafletエンジンのみ)
getPopup() なし Popup 関連付けれらたPopupオブジェクトを返します.(Leafletエンジンのみ)
getVisibility() なし Boolean   マーカーが表示状態ならばTrueを返します.
on( type,
 handler )
String,
Function
this イベントリスナーを登録.(Leafletエンジンのみ)
addEventListenerはonと全く同じ機能を提供します. 
addEventListener( type,
 handler )
openPopup() なし this ポップアップウィンドウを表示します(Leafletエンジンのみ)
表示する内容は,Marker生成時にpamras.popupプロパティで設定しておく必要があります.
set( key,
 value )
String,
Eney 
Eney このオブジェクトのプロパティ値をセット
keyをプロパティ名として,(指定されていれば)valueを設定し,最終的なプロパティ値を返します.
プロパティ名には,'latLng', 'opacity', 'popup', 'visibilityが指定できます.
setLatLng( latLng ) LatLng LatLng 表示する位置を変更します(Leafletエンジンのみ)
引数は省略することができ,省略すると現在設定されている位置返します
setOpacity( opacity ) Number Number 不透明度を設定します.(Leafletエンジンのみ)
引数は省略することができ,省略すると現在設定されている不透明度を返します 
setPopup( popup ) Popup Popup ポップアップで表示するオブジェクトを設定します.(Leafletエンジンのみ)
引数は省略することができ,省略すると現在設定されているオブジェクトを返します
setVisibility( visibility ) Boolean Boolean 表示するか.
引数は省略でき,省略すると現在表示されているか否かを返します. 

・イベント

 on()およびaddEvnetListener()メソッドでは以下のイベントが扱えます.typeプロパティの値として以下が指定できます(Leafletエンジンのみ)

イベント 説明
click マーカー上のクリックまたはタップで発生
dblclick マーカー上のクリックまたはダブルタップで発生
mousedown マーカー上でマウスボタン押されて下がった時に発生
mouseup マーカー上でマウスボタン押されて上がった時に発生
mousemove マウスが地図内で移動したときに発生
dragstart ドラッグの移動が開始されたときに発生
drag ドラッグしているときに発生
dragend ドラッグの移動が終了したときに発生
move マーカーの位置が変化しているときに発生

Icon

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

・プロパティ

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

Popup

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

・プロパティ

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

・メソッド

メソッド 引数の型 戻り値 説明
getOpen() なし Boolean 現在開かれていればtrueを返します.
setOpen( open ) Boolean Boolean ポップアップを開く(openがtrue)ないし閉じ(openがfalse)ます

Polyline

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

・プロパティ

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

・メソッド

メソッド 引数の型 戻り値 説明
on( type
 handler )
String
function
this イベントリスナーを登録
addEvnetListnerはonとまったっく同じ機能を提供する 
(Leafletエンジンのみ)
addEventListener( type,
 handler )
addLatLng LatLng | [ Number, Number ] LatLng  点を追加し,追加した点を返します.
get( key ) String Eney keyをプロパティ名とするプロパティ値を返します.
getVisibility() なし Booean 表示状態を返します.
getLatLngs() なし [ 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()メソッドと同様です.
戻り値には追加されたオブジェクトを返します.
getVisibility() なし Boolean  ジオメトリーグループが表示状態ならばTrueを返します.
remove( geometry ) Object なし 追加した描画オブジェクトを削除します.
引数を省略するとすべてのオブジェクトを削除します.
setVisibility( visibility ) Boolean Boolean 表示するか否かを指定します.
引数は省略でき,省略すると現在表示されているか否かを返します. 

Control

 Controlオブジェクトは地図上に固定位置に表示されるもので,ユーザに情報を提供したり,ユーザからの入力を受け取ったりするために使用するものです.デフォルトで,アトリビューション,レイヤー,スケール,ズームの4つのコントロールが提供され,さらにユーザ独自のコントロールを追加することも可能です.
 通常はMap.addControl()関数の引数にコントローラ名を指定して生成します.

・プロパティ

プロパティ デフォルト 説明
id String なし コントロール名で必須です.
既定のコントロールの場合は'attribution', 'layer', 'scale', 'zoom'となります.
ユーザー定義のコントロールの場合は上記以外を指定します.
contents HTMLElement ユーザ定義のコントロールの場合,表示するHTMLエレメントオブジェクトを表します.
original Object   (存在すれば)地図描画エンジンが生成する固有のオブジェクトです.
position String 表示位置を'topleft', 'topright', 'bottomleft', 'bottomright'で表します.

Controller

 Controllerオブジェクトは,ゲームパッドやLeap Motionなどの入力デバイスを表現します.デフォルトではゲームパッドとLeap Motionのコントローラが組み込まれています.新たなコントローラを追加して利用することもでき,その場合はMap.addController()メソッドを使って追加します.Mapに追加されているコントローラはMap.controllers[ コントローラ ]名で取得でき,Map.removeController()で削除することができます.

・プロパティ

プロパティ デフォルト 説明
active Boolean true コントローラを有効にするか否か
assign Object  なし  操作に対する動作の割り当てを,オペレーション名をキーとし,動作を指定するアクションオブジェクトまたは関数を値とするする連想配列で指定します.関数を指定した場合は,操作に対して関数自身が実行されます.関数に渡される引数はとてオブジェクトで,factor(変位量),timestamp(タイムスタンプ)をフィールドに持ちます.
id String なし コントローラー名.一意に識別できる必要があります.
組み込みのコントローラ名は'gamepad'または'leap'です.

・メソッド

メソッド 引数の型 戻り値 説明
check( ) 無し 無し デバイスの状態を確認して,必要な再描画処理を行います.
S-map内のループから随時呼び出されます.

・コマンドアサインのオペレーション

 利用できるオペレーション名はコントローラにより異なります.
 ゲームパッドでは以下のオペレーションが利用できます.オペレーションの名称はGamepadAPIに準じています.

 Leap Motionコントローラは以下のオペレーションをサポートします.

・アクションオブジェクト

 アクションオブジェクトは,commandとvelocityの2つのプロパティを持ったオブジェクトで,commandプロパティで動作の種類を,velocityで動作速度を調整します.commandでは以下が指定できます(描画エンジンによっては利用できないものもあります).

 実際の動作速度は,デバイスから取得した変位量factorとコマンドアサインで指定したvelocityを乗算した値で決まります.factor,velocityという名前はついていますが,これはゲームパッドを想定してつけられており,実際の役割はコントローラにより異なります.Leap Motionの場合はfactorが距離や回転角を表し,velocityはそれを補正するための係数の役割を持ちます.

 デフォルトのコマンドアサインを変更するには,コントローラオブジェクトを取得してそのassignプロパティを書き換えます.

※指定したアクションオブジェクトは,そのままMap.exec()関数の第1引数actionに渡されます.

ElevationLayer

廃止予定 ElevatonModelに機能を吸収する予定

 標高を扱うための専用オブジェクトです.通常のレイヤーと異なり,Mapとは独立して利用します.
 現在の実装ではPNG標高タイルのみを扱えます.

・ファクトリー関数

関数 引数の型 戻り値 説明
Smap.elevationLayer( url ) String ElevationLayer   ElevationLayerオブジェクト生成します.

・プロパティ

プロパティ デフォルト 説明
url String Smap.DEFAULT_ELEVATION 標高タイルのURLテンプレート

標高タイルのテンプレートでは,タイル座標を指定するための{x}, {y}, {z}のほか位置精度を指定する{type}が使用できます.この{type}には,標高取得時に'm'(m精度)または'cm'(cm精度)が設定されます.

・メソッド

メソッド 引数の型 戻り値 説明
getElevation( latln,
 z
 params )
LatLng,
Number, Object
Promise  指定した位置とズームレベルの標高を取得するプロミスを発行します.
params.typeには高さの精度を指定する文字列を指定します
('m': m精度, 'cm':cm精度,デフォルトは'm')
プロミス成功時には,標高(m単位)が引数として渡されます.

ElevationModel

 標高モデルを扱うためオブジェクトです.現在の実装ではPNG標高タイルのみを扱えます.

・プロパティ

プロパティ デフォルト 説明
url String (必須) 標高タイルのURLテンプレート.ズームレベル及びタイル座標として{z},{x},{y}を使用できる
resolution Number  1 標高分解能(メートル)
dataMapSize Number  33 タイルサイズ(ピクセル)
hf Number  地形の強調係数 (1で強調無し)
projection String webmelcator 'latlng'を指定すると正距円筒図法となります 

dataMapSizeは,レンダリングに使用するデータマップのサイズで,画像サイズに一致している必要は無く,S-mapがリサンプルします.tileSizeが(実際の画像サイズ-1)と一致するとき最も効率が良くなります(左と下のタイルとの接合部の標高も必要とするため).

・メソッド

メソッド 引数の型 戻り値 説明
getElevation( latln,
 z )
LatLng,
Number
Promise  指定した位置とズームレベルの標高を取得するプロミスを発行します.
プロミス成功時には,標高(m単位)が引数として渡されます.

Geocorder

 地名等と緯度経度の変換を行うジオコーダオブジェクトです.自分自身で地名検索をするほか,別のGeocoderをリストとして保持してそちらに検索させることもできます.

・ファクトリー関数

関数 引数の型 戻り値 説明
Smap.geocoder( geocoder ) String |
Function |
Geocoder
Geocorder   Geocoderオブジェクト生成します.
引数に文字列を指定した場合は,S-mapに登録されているGeocoderの中からそれをIDとするものを探します.現在は'csis'のみが登録されており,この場合は東京大学空間情報科学研究センターの検索システムが利用できます.
引数に関数を指定した場合は,それをgeocode()メソッドとするGeocoderオブジェクトを生成します.
引数にオブジェクトを指定した場合は,Geocoderオブジェクトのリテラル表現と解釈して新たなGeocoderオブジェクトを生成します.
引数に配列を指定した場合はGoecoderのリストと解釈して,各要素を引数として再度このファクトリー関数を呼び出し,生成されたGeocoderのリストを保持する新しいGeocoderオブジェクトを生成します.
全ての引数を省略するか,nullを指定するとデフォルトのジオコーダ(Smap.DEFULT_GEOCODERで指定されたもの)となり,現在はCSIS利用となります. 
※CSISの地名検索は,シームレス地質図ラボサイトの非公式のサーバサービスを利用しています.
引数ないし以外未実装
Smap.geocoder( geocoders ) [ Geocoder, ... ]

・プロパティ

プロパティ デフォルト 説明
id String なし ジオコーダ名
geocoders [ Geocoder, ...]  なし  ジオコーダのリスト

・メソッド

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

・検索結果オブジェクト

 geocode()メソッドが返すプロミスで取得できる検索結果オブジェクトは,resultsフィールドを持ちます.このフィールドは以下のプロパティを持つオブジェクトの配列です.

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

Promise

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

・ファクトリー関数

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

・メソッド

メソッド 引数の型 戻り値 説明
catch( onRejected ) Function Promise プロミス失敗時の処理を設定
戻り値には,失敗の処理後に実行されるプロミスを返します.
reject()
(廃止予定)
any なし プロミス失敗を通知
引数はすべてそのままthen()メソッドのonRejectedで指定した失敗時の処理関数に渡されます.
(環境により使用できないことがあります)
resolve()
(廃止予定)
any なし プロミス成功を通知
引数はすべてそのままthen()メソッドのonFulfiledで指定した成功時の処理関数に渡されます.
(環境により使用できないことがあります)
then( onFulfilled,
 onRejected )
Function,
Function
Promise プロミス完了時(成功または失敗時)の処理を設定
成功するとonFulfiled,失敗するとonRejectedで指定した関数が実行されます.
戻り値には,成功・失敗の処理後に実行されるプロミスを返します
※2015-03-17現在バグがあり,ネイティブでPromiseが用意されていない環境(IEなど)では,onFulfilled処理内で発生したエラーが生成されるプロミスに反映されません

・関連関数

関数 引数の型 戻り値 説明
Smap.promise.all( promise1, promise2, ... ) Promise, ...   Promise  すべての子プロミスが成功したときに成功となるプロミスを生成します
子プロミスは可変引数として与えるか,配列として与えます. 成功したとき結果は全てのプロミスから得られた値の配列として渡されます.失敗したとき、直ちに失敗したプロミスの結果をもって失敗が返されます.
Smap.promise.all( promiselist ) [ Promise, ...]
Smap.promiseAll( promise1, promise2, ... )
(廃止予定)
Promise, ...
Smap.promiseAll( promiselist )
(廃止予定)
[ Promise, ...]
Smap.promise.finishing( promise1, promise2, ... ) Promise, ..  Promise  すべての子プロミスの完了(成功または失敗)したときに成功となるプロミスを生成します.
子プロミスは可変引数として与えるか,配列として与えます.
結果は全てのプロミスから得られた値(失敗の場合はundefined)の配列として渡されます.
Smap.promise.finishing( promiselist. ) [ Promise, ...] 
Smap.promiseFinishing( promise1, promise2, ... )
(廃止予定)
Promise, ..
Smap.promiseFinishing( promiselist. )
(廃止予定)
[ Promise, ...]
Smap.promise.race( promiselist ) [ Promise, ...]  Promise プロミスリストのうち,いずれかが最初に成功または失敗したときにその結果を返します.
race()の返すプロミスが固定しても,プロミスリスト内のプロミスの実行は影響を受けません
Smap.promise.resolve( value ) Eney Promise  即座に成功するプロミスを返します.valueにはプロミスに渡す値を指定します.valueにプロミスを指定した場合は,そのプロミスの結果が渡されます.
Smap.promise.reject( value ) Eney Promise 即座に失敗するプロミスを返します.valueにはプロミスに渡す値を指定します.
Smap.allPromise( promise1, promise2, ... )
(廃止予定)
Promise, ,.. Promise すべての子プロミスの終了を監視するプロミスを生成
子プロミスは可変引数として与えるか,配列として与えます.
※名称がES6の「Promise.all()」と紛らわしいため,ver 0.1.1ではpromiseFinishing()に変更しました
Smap.allPromise( promiselist ) 
(廃止予定)
[ Promise, ...]

2016年10月28日更新