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

2014年9月29日月曜日

2 - ol3ex 8b - Google Maps integration example 2

「google-map.js(208-ol3ex.js)」は、地図を表示するのに必要な javascript です。
「208-ol3ex.js」
var gmap = new google.maps.Map(document.getElementById('gmap'), {
// Google Map オブジェクト 以下、オプション
 disableDefaultUI: true, // デフォルトのUI(ユーザインターフェイス)の無効化
 keyboardShortcuts: false,
 draggable: false,
 disableDoubleClickZoom: true,
 scrollwheel: false,
 streetViewControl: false // ストリートビュー ペッグマン コントロール
});
var view = new ol.View({
 // make sure the view doesn't go beyond the 22 zoom levels of Google Maps
 maxZoom: 21
});
view.on('change:center', function() {
// '.on()[jQuery]' 地図の中心が移動したとき関数が実行(中心座標を Google Map に設定)
 var center = ol.proj.transform(view.getCenter(), 'EPSG:3857', 'EPSG:4326');
 gmap.setCenter(new google.maps.LatLng(center[1], center[0]));
});
view.on('change:resolution', function() {
// '.on()[jQuery]' 解像度が変わったとき関数が実行(ズームを Google Map に設定)
 gmap.setZoom(view.getZoom());
});
var vector = new ol.layer.Vector({
 source: new ol.source.GeoJSON({
//  url: 'data/geojson/countries.geojson',
  url: 'v3.0.0/examples/data/geojson/countries.geojson',
  projection: 'EPSG:3857'
 }),
 style: new ol.style.Style({
  fill: new ol.style.Fill({
   color: 'rgba(255, 255, 255, 0.6)'
  }),
  stroke: new ol.style.Stroke({
   color: '#319FD3',
   width: 1
  })
 })
});
var olMapDiv = document.getElementById('olmap');
var map = new ol.Map({
 layers: [vector],
 interactions: ol.interaction.defaults({
 // OpenLayers の interaction を制御
  altShiftDragRotate: false,
  dragPan: false,
  rotate: false
 }).extend([new ol.interaction.DragPan({kinetic: null})]),
 target: olMapDiv,
 view: view
});
view.setCenter([0, 0]);
view.setZoom(1);
olMapDiv.parentNode.removeChild(olMapDiv); // 要素の全ての子ノードを削除
gmap.controls[google.maps.ControlPosition.TOP_LEFT].push(olMapDiv);



2 - ol3ex 8a - Google Maps integration example 1

「Google Maps integration example(google-map.html)」を参考に地図を表示してみます。
HTML ファイルの作成
a Eclipse のメニューの「ファイル」->「ファイルを開く」をクリックします。





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





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



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








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











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


「208-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.0.0/css/ol.css" type="text/css">
  <link rel="stylesheet" href="v3.0.0/resources/bootstrap/css/bootstrap.min.css" type="text/css">
  <link rel="stylesheet" href="v3.0.0/resources/layout.css" type="text/css">
  <link rel="stylesheet" href="v3.0.0/resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
  <style type="text/css">
   div.fill {
    width: 100%;
    height: 100%;
   }
  </style>
  <script src="http://maps.google.com/maps/api/js?v=3&sensor=false"></script>
  <title>Google Maps integration example</title>
 </head>
 <body>

  <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.0.0/examples/"><img src="v3.0.0/resources/logo.png"> OpenLayers 3 Examples</a>
    </div>
   </div>
  </div>
  <div class="container-fluid">
   <div class="row-fluid">
    <div class="span12">
     <div id="map" class="map">
      <div id="gmap" class="fill"></div>
      <div id="olmap" class="fill"></div>
     </div>
    </div>
   </div>
   <div class="row-fluid">
    <div class="span4">
     <h4 id="title">Google Maps integration example</h4>
     <p id="shortdesc">Example of a GMaps map with an ol3 map as control, to give users a Google base map with ol3 content on top.</p>
     <div id="docs">
<!--
      <p>See the <a href="google-map.js" target="_blank">google-map.js source</a> to see how this is done.</p>
-->
       <!-- ファイル修正 -->
      <p>See the <a href="208-ol3ex.js" target="_blank">208-ol3ex.js source</a> for details on how this is done.</p>
     </div>
     <div id="tags">google</div>
    </div>
   </div>
  </div>
<!--
  <script src="jquery.min.js" type="text/javascript"></script>
  <script src="../resources/example-behaviour.js" type="text/javascript"></script>
-->
  <!-- ディレクトリ修正 -->
  <script src="v3.0.0/examples/jquery.min.js" type="text/javascript"></script>
  <script src="v3.0.0/resources/example-behaviour.js" type="text/javascript"></script>
<!--
  <script src="loader.js?id=google-map" type="text/javascript"></script>
-->
  <!-- ファイル修正 -->  <!-- ディレクトリ修正 -->
  <script src="loader.js?id=208-ol3ex" type="text/javascript"></script>
 </body>
</html>

2014年7月3日木曜日

2 - ol3-beta.5ex 9b - Google Maps integration example 2

「google-map.js(209-ol3ex.js)」は、地図を表示するのに必要な javascript です。

「209-ol3ex.js」
var gmap = new google.maps.Map(document.getElementById('gmap'), {
// Google Map オブジェクト 以下、オプション
 disableDefaultUI: true, // デフォルトのUI(ユーザインターフェイス)の無効化
 keyboardShortcuts: false,
 draggable: false,
 disableDoubleClickZoom: true,
 scrollwheel: false,
 streetViewControl: false // ストリートビュー ペッグマン コントロール
});
var view = new ol.View2D();
view.on('change:center', function() {
// '.on()[jQuery]' 地図の中心が移動したとき関数が実行(中心座標を Google Map に設定)
 var center = ol.proj.transform(view.getCenter(), 'EPSG:3857', 'EPSG:4326');
 gmap.setCenter(new google.maps.LatLng(center[1], center[0]));
});
view.on('change:resolution', function() {
// '.on()[jQuery]' 解像度が変わったとき関数が実行(ズームを Google Map に設定)
 gmap.setZoom(view.getZoom());
});
var vector = new ol.layer.Vector({
 source: new ol.source.GeoJSON({
//  url: 'data/geojson/countries.geojson',
  url: 'v3.0.0-beta.5/examples/data/geojson/countries.geojson',
  projection: 'EPSG:3857'
 }),
 style: new ol.style.Style({
  fill: new ol.style.Fill({
   color: 'rgba(255, 255, 255, 0.6)'
  }),
  stroke: new ol.style.Stroke({
   color: '#319FD3',
   width: 1
  })
 })
});
var olMapDiv = document.getElementById('olmap');
var map = new ol.Map({
 layers: [vector],
 interactions: ol.interaction.defaults({
 // OpenLayers の interaction を制御
  altShiftDragRotate: false,
  pan: false,
  rotate: false
 }).extend([new ol.interaction.DragPan({kinetic: false})]),
 target: olMapDiv,
 view: view
});
view.setCenter([0, 0]);
view.setZoom(1);
olMapDiv.parentNode.removeChild(olMapDiv); // 要素の全ての子ノードを削除
gmap.controls[google.maps.ControlPosition.TOP_LEFT].push(olMapDiv);


292a-ol3ex.png

2 - ol3-beta.5ex 9a - Google Maps integration example 1

「Google Maps integration example(google-map.html)」を参考に地図を表示してみます。

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





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





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



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








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











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

「209-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.0.0-beta.5/css/ol.css" type="text/css">
  <link rel="stylesheet" href="v3.0.0-beta.5/resources/bootstrap/css/bootstrap.min.css" type="text/css">
  <link rel="stylesheet" href="v3.0.0-beta.5/resources/layout.css" type="text/css">
  <link rel="stylesheet" href="v3.0.0-beta.5/resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
  <style type="text/css">
   div.ol-logo {
    left: 65px;
   }
   div.fill {
    width: 100%;
    height: 100%;
   }
  </style>
  <script src="http://maps.google.com/maps/api/js?v=3&sensor=false"></script>
  <title>Google Maps integration example</title>
 </head>
 <body>

  <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.0.0-beta.5/examples/"><img src="v3.0.0-beta.5/resources/logo.png"> OpenLayers 3 Examples</a>
    </div>
   </div>
  </div>
  <div class="container-fluid">
   <div class="row-fluid">
    <div class="span12">
     <div id="map" class="map">
      <div id="gmap" class="fill"></div>
      <div id="olmap" class="fill"></div>
     </div>
    </div>
   </div>
   <div class="row-fluid">
    <div class="span4">
     <h4 id="title">Google Maps integration example</h4>
     <p id="shortdesc">Example of a GMaps map with an ol3 map as control, to give users a Google base map with ol3 content on top.</p>
     <div id="docs">
<!--
      <p>See the <a href="google-map.js" target="_blank">google-map.js source</a> to see how this is done.</p>
-->
       <!-- ファイル修正 -->
      <p>See the <a href="209-ol3ex.js" target="_blank">209-ol3ex.js source</a> for details on how this is done.</p>
     </div>
     <div id="tags">google</div>
    </div>
   </div>
  </div>
<!--
  <script src="jquery.min.js" type="text/javascript"></script>
  <script src="../resources/example-behaviour.js" type="text/javascript"></script>
-->
  <!-- ディレクトリ修正 -->
  <script src="v3.0.0-beta.5/examples/jquery.min.js" type="text/javascript"></script>
  <script src="v3.0.0-beta.5/resources/example-behaviour.js" type="text/javascript"></script>
<!--
  <script src="loader.js?id=google-map" type="text/javascript"></script>
-->
  <!-- ファイル修正 -->  <!-- ディレクトリ修正 -->
  <script src="loader.js?id=209-ol3ex" type="text/javascript"></script>
 </body>
</html>