2015年3月12日木曜日

2 - ol3.3ex 84b - Sphere Mollweide example 2

「sphere-mollweide.js(284-ol3ex.js)」は、マップを表示するための JavaScript ファイルです。

「284-ol3ex.js」
proj4.defs('ESRI:53009', '+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6371000 ' +
 '+b=6371000 +units=m +no_defs');
/**
 * Configure the Sphere Mollweide projection object with
 * an extent, and a world extent. These are required for 
 * the Graticule.
 * ある範囲および世界全体の範囲で球状モルワイデ投影オブジェクトを
 * 設定します。これらは、グラティクル(経緯度線)に必要です。
 */
var sphereMollweideProjection = ol.proj.get('ESRI:53009');
sphereMollweideProjection.setExtent([
/** setExtent(extent)
 * Set the validity extent for this projection.
 * この投影の有効範囲を設定します。(ol3 API)
 */
  -9009954.605703328, -9009954.605703328,
  9009954.605703328, 9009954.605703328]);
sphereMollweideProjection.setWorldExtent([-179, -90, 179, 90]);
/** setWorldExtent(worldExtent) 
 * Set the world extent for this projection.
 * この東映の世界全体の範囲を設定します。
 * (ol3 API[説明は Stable Only のチェックを外すと表示])
 */
var map = new ol.Map({
 keyboardEventTarget: document,
 /** keyboardEventTarget:
  * The element to listen to keyboard events on. This
  * determines when the KeyboardPan and KeyboardZoom
  * interactions trigger. For example, if this option is set
  *  to document the keyboard interactions will always
  *  trigger. If this option is not specified, the element
  * the library listens to keyboard events on is the map
  * target (i.e. the user-provided div for the map). If this
  * is not document the target element needs to be focused
  * for key events to be emitted, requiring that the target
  * element has a tabindex attribute.
  * キーボードイベントをリッスンし続ける要素。 KeyboardPan と
  * KeyboardZoom インタラクションがトリガするときに決定します。
  * このオプションが document に設定されている場合は、キーボード
  * インタラクションが常にトリガされます。このオプションを指定しな
  * い場合、キーボードイベントをリッスンし続ける要素(ライブラリ)
  * は、マップターゲット(マップの user-provided div)です。こ
  * れが document でない場合、ターゲット要素はキーイベントが発生
  * されることに焦点が当てられる必要があり、ターゲット要素が 
  * tabindex 属性を持っていることを必要とします。
  * (ol3 API[説明は Stable Only のチェックを外すと表示])
  */
 layers: [
  new ol.layer.Vector({
   source: new ol.source.GeoJSON({
  /** ol.source.GeoJSON 
   * Static vector source in GeoJSON format
   * GeoJSON フォーマットの静的ベクタソース。(ol3 API)
   */
    projection: sphereMollweideProjection,
    // url: 'data/geojson/countries-110m.geojson'
    url: 'v3.3.0/examples/data/geojson/countries-110m.geojson'
   })
  })
 ],
 renderer: 'canvas',
 target: 'map',
 view: new ol.View({
  center: [0, 0],
  projection: sphereMollweideProjection,
  resolutions: [65536, 32768, 16384, 8192, 4096, 2048],
  zoom: 0
 })
});
var graticule = new ol.Graticule({
 map: map
 /** map:
  * Reference to an ol.Map object.
  * ol.Map オブジェクトへの参照。
  * (ol3 API[説明は Stable Only のチェックを外すと表示])
  */
});

0 件のコメント: