ラベル preload の投稿を表示しています。 すべての投稿を表示
ラベル preload の投稿を表示しています。 すべての投稿を表示

2015年2月18日水曜日

2 - ol3.2ex 66b -Preload example 2

「preload.js(266-ol3ex.js)」は、マップを表示するための JavaScript ファイルです。
「266-ol3ex.js」
var map1 = new ol.Map({
 layers: [
  new ol.layer.Tile({
  /** ol.layer.Tile 
   * For layer sources that provide pre-rendered, tiled 
   * images in grids that are organized by zoom levels for 
   * specific resolutions. 
   * プリレンダリング(事前描画)を提供するレイヤソースのための、
   * 特定の解像度でのズームレベルによって編成されているグリッドの
   * タイルイメージ。(ol3 API)
   */
   preload: Infinity,
   /** preload:
    * Preload. Load low-resolution tiles up to 
    * preload levels. By default preload is 0, 
    * which means no preloading.
    * プリロード。プリロードレベルに至るまで低解像度の
    * タイルをロードします。デフォルトはプリロード 0 で、
    * プレロードがないことを意味します。(ol3 API)
    */
   source: new ol.source.BingMaps({
   /** ol.source.BingMaps
    * Layer source for Bing Maps tile data.
    * Bing Maps タイルデータのレイヤソース。(ol3 API)
    */
    key: 'Ak-dzM4w...(省略)',
    imagerySet: 'Aerial'
   })
  })
 ],
 renderer: exampleNS.getRendererFromQueryString(),
 //'example-behavior.js' により URL にある renderer を返します
 target: 'map1',
 view: new ol.View({
  center: [-4808600, -2620936],
  zoom: 8
 })
});
var map2 = new ol.Map({
 layers: [
  new ol.layer.Tile({
   preload: 0, // default value
   source: new ol.source.BingMaps({
    key: 'Ak-dzM4w...(省略)',
    imagerySet: 'AerialWithLabels'
   })
  })
 ],
 renderer: exampleNS.getRendererFromQueryString(),
 target: 'map2'
});
map2.bindTo('view', map1);
/** bindTo 
 * The bindTo method allows you to set up a two-way 
 * binding between a `source` and `target` object. 
 * The method returns an object with a `transform` 
 * method that you can use to provide `from` and 
 * `to` functions to transform values on the way 
 * from the source to the target and on the way back.
 * bindTo メソッドは、`source` と ` target` オブジェク
 * ト間の結合を双方向に設定することができます。メソッドは、
 * ソースからターゲットに、および、その逆方向に値を変換
 * する、 `from` と ` to` ファンクションを提供するため
 * に使用することがでる `transform` メソッドをともなっ
 * た、オブジェクトを返します。(ol/ol/object.js)
 */

2 - ol3.2ex 66a - Preload example 1

「Preload example (preload.html)」を参考に地図を表示してみます。
説明に次のようにあります。

Example of tile preloading.
The map on the left preloads low resolution tiles. The map on the right does not use any preloading. Try zooming out and panning to see the difference.

タイルプリロードの例。
左のマップは低解像度のタイルをプリロード(事前読込み)します。右のマップは、どれもプリロードを使用しません。その差を見るためにズームアウトとパンを試しください。

HTML ファイルの作成
a Eclipse のメニューの「ファイル」->「ファイルを開く」をクリックします。





b 「ファイルを開く」ウィンドウで、「user」->「mapsite」->「ol3proj」->「v3.2.1」->「examples」->「preload.html」をクリックして選択し、「OK」ボタンをクリックします。
同じように「preload.js」を開きます。





c メニューの「ファイル」->「新規」 -> 「ファイル」をクリックします。



d 「ファイル」ウィンドウで「ol3proj」をクリックして選択し、「ファイル名」を「266-ol3ex.html」と入力し、「次へ」ボタンをクリックします。








e 「File Template」ウィンドウで「HTML 5 Template」をクリックして選択し、「OK」ボタンをクリックします。











f 「preload.html」の内容をコピーして「266-ol3ex.html」に貼り付け、修正します。
g 同じように、新規に「266-ol3ex.js」ファイルを作成し、「File Template」ウィンドウで「JavaScript Template」をクリックして選択し、「完了」ボタンをクリックして、「preload.js」の内容をコピーして貼り付け、修正します。「preload-require.js」も「266-ol3ex-require.js」に貼り付けます。


「266-ol3ex.html」
<!doctype html>
<html lang="en">
 <head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="chrome=1">
  <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
<!--
  <link rel="stylesheet" href="../css/ol.css" type="text/css">
  <link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css">
  <link rel="stylesheet" href="../resources/layout.css" type="text/css">
  <link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
-->
  <!-- ディレクトリ修正 -->
  <link rel="stylesheet" href="v3.2.1/css/ol.css" type="text/css">
  <link rel="stylesheet" href="v3.2.1/resources/bootstrap/css/bootstrap.min.css" type="text/css">
  <link rel="stylesheet" href="v3.2.1/resources/layout.css" type="text/css">
  <link rel="stylesheet" href="v3.2.1/resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
  <title>Preload example</title>
 </head>
 <body>
  <!-- 
  bootstrap.min.css, bootstrap-responsive.min.css で設定されたセレクタを使用。
  -->
  <div class="navbar navbar-inverse navbar-fixed-top">
   <div class="navbar-inner">
    <div class="container">
     <!--
     <a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
     -->
     <!-- ディレクトリ修正 -->
     <a class="brand" href="v3.2.1/examples/"><img src="v3.2.1/resources/logo.png"> OpenLayers 3 Examples</a>
    </div>
   </div>
  </div>
  <div class="container-fluid">
   <div class="row-fluid">
    <div class="span6 mapcontainer">
     <div id="map" class="map"></div>
    </div>
    <div class="span6 mapcontainer">
     <div id="map" class="map"></div>
    </div>
   </div>
   <div class="row-fluid">
    <div class="span12">
     <h4 id="title">Preload example </h4>
     <p id="shortdesc">Example of tile preloading.</p>
     <div id="docs">
      <p>The map on the left preloads low resolution tiles.  
       The map on the right does not use any preloading.   
       Try zooming out and panning to see the difference.</p>
      <!--
      See the <a href="preload.js" target="_blank">preload.js source</a> to see how this is done.</p>
      -->
      <!-- ファイル修正 -->
      See the <a href="266-ol3ex.js" target="_blank">266-ol3ex.js source</a> to see how this is done.</p>
     </div>
     <div id="tags">preload, bing</div>
    </div>
   </div>
  </div>
  <!--
  <script src="../resources/jquery.min.js" type="text/javascript"></script>
  <script src="../resources/example-behaviour.js" type="text/javascript"></script>
  -->
  <!-- ディレクトリ修正
   jQuery Minified版と
   example-behaviour.js(Examples用 JSコード[文字コードなど])
  -->
  <script src="v3.2.1/resources/jquery.min.js" type="text/javascript"></script>
  <script src="v3.2.1/resources/example-behaviour.js" type="text/javascript"></script>
  <!--
  <script src="loader.js?id=preload" type="text/javascript"></script>
  -->
  <!-- ファイル修正 -->  <!-- ディレクトリ修正 -->
  <script src="loader.js?id=266-ol3ex" type="text/javascript"></script>
 </body>
</html>