名前空間と定数 | 汎用オブジェクト | 汎用関数
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の代わりに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 このライブラリで利用できるズームレベルの限界値
タイル座標(X, Y)及びズームレベルを表します.ズームレベルは省略されることがあります.
プロパティ 型 必須 説明 x Number ○ X座標 y Number ○ Y座標 z Numbet ズームレベル
地理的な位置を表します.
プロパティ 型 必須 説明 lat Number ○ 緯度(360度法.北緯が正,南緯が負) lng Number ○ 経度(360度法.東経が正,西経が負)
このオブジェクトの生成用関数 Smap.latLng() が利用できます.
平面上のX, Y座標を表します.
プロパティ 型 必須 説明 x Number ○ X座標 y Number ○ Y座標
このオブジェクトの生成用関数 Smap.Point() が利用できます.
地理的な矩形範囲を表します.
プロパティ 型 必須 説明 sw LatLng ○ 南西端の地理座標 ne LatLng ○ 北東端の地理座標
通常は,sw.lat < ne.latでなければなりません.また,sw.lng > ne.lng の場合は子午線をはさんだ範囲となります.
このオブジェクトの生成用関数 Smap.bounds() が利用できます.
地図の表示状態を表します.
プロパティ 型 必須 説明 center LatLng 中央の地理座標 zoom Number ズームレベル azimuth Number 地図の方位角(360度表記,0~360,北が0で時計回りに大きくります. dip Number 地図の傾き (360度表記,-90~90).0で水平.
後方から見るように傾く場合は正前方から見るように傾く場合は負とします.
イベントを表します.これらのすべの値が常に利用できるわけではありません.
プロパティ 型 説明 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で読み込むことができないようです.
関数 | 引数の型 | 戻り値 | 説明 |
---|---|---|---|
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で指定した内容をクライアント環境に保存します. |
関数 | 引数の型 | 戻り値 | 説明 |
---|---|---|---|
Smap.base64url.encode( array ) | [ Boolean, ... ] | String | 論理型の配列をbase64urlでエンコードします. 論理型の代わりに 0 (偽 ),1 ( 真 ) を指定することも可能です. |
Smap.base64url.decode( str ) | String | [ Boolean, ... ] | base64urlでエンコードされた文字列をデコードします. |
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 | 0 | ズームレベルの最小値 |
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 | 0 | 参照のみ | ズームレベルの最小値 |
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オブジェクトは個々のレイヤーを表します.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オブジェクトは地図上に表示するマーカーを表します.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オブジェクトはマーカーで使用する画像を表します(Leafletエンジンのみ).Iconオブジェクトの生成は,Map.addMarker()の中で,parms.iconプロパティの設定をもとに行なわれます.
プロパティ | 型 | デフォルト | 説明 |
---|---|---|---|
url | String | 必須 | 画像ファイルの絶対または相対パスを指定します |
size | Point | なし | アイコンのサイズをピックセルで指定します |
anchor | Point | なし | アンカーの位置を左上を原点とする座標値で指定します |
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の生成は,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オブジェクトは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の生成は,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オブジェクトは地図上に固定位置に表示されるもので,ユーザに情報を提供したり,ユーザからの入力を受け取ったりするために使用するものです.デフォルトで,アトリビューション,レイヤー,スケール,ズームの4つのコントロールが提供され,さらにユーザ独自のコントロールを追加することも可能です.
通常はMap.addControl()関数の引数にコントローラ名を指定して生成します.
プロパティ | 型 | デフォルト | 説明 |
---|---|---|---|
id | String | なし | コントロール名で必須です. 既定のコントロールの場合は'attribution', 'layer', 'scale', 'zoom'となります. ユーザー定義のコントロールの場合は上記以外を指定します. |
contents | HTMLElement | ユーザ定義のコントロールの場合,表示するHTMLエレメントオブジェクトを表します. | |
original | Object | (存在すれば)地図描画エンジンが生成する固有のオブジェクトです. | |
position | String | 表示位置を'topleft', 'topright', 'bottomleft', 'bottomright'で表します. |
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に渡されます.
廃止予定 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単位)が引数として渡されます. |
標高モデルを扱うためオブジェクトです.現在の実装ではPNG標高タイルのみを扱えます.
プロパティ | 型 | デフォルト | 説明 |
---|---|---|---|
url | String | (必須) | 標高タイルのURLテンプレート.ズームレベル及びタイル座標として{z},{x},{y}を使用できる |
resolution | Number | 1 | 標高分解能(メートル) |
dataMapSize | Number | 33 | タイルサイズ(ピクセル) |
hf | Number | 1 | 地形の強調係数 (1で強調無し) |
projection | String | webmelcator | 'latlng'を指定すると正距円筒図法となります |
dataMapSizeは,レンダリングに使用するデータマップのサイズで,画像サイズに一致している必要は無く,S-mapがリサンプルします.tileSizeが(実際の画像サイズ-1)と一致するとき最も効率が良くなります(左と下のタイルとの接合部の標高も必要とするため).
メソッド | 引数の型 | 戻り値 | 説明 |
---|---|---|---|
getElevation( latln, z ) |
LatLng, Number |
Promise | 指定した位置とズームレベルの標高を取得するプロミスを発行します. プロミス成功時には,標高(m単位)が引数として渡されます. |
地名等と緯度経度の変換を行うジオコーダオブジェクトです.自分自身で地名検索をするほか,別の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)オブジェクトは,非同期処理で有効な仕組みを提供するためのオブジェクトで,その時点ではまだ完了していない処理を表現します.ほかのライブラリでは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日更新