Vue + OpenLayers クイックスタートチュートリアル

Vue + OpenLayers クイックスタートチュートリアル

Openlayers は、WebGIS クライアント向けのモジュール式で高性能かつ機能豊富な JavaScript パッケージです。マップや空間データの表示や操作に使用され、柔軟な拡張メカニズムを備えています。

つまり、Openlayers(以下、ol)を使うことで、さまざまな地図や空間データを柔軟かつ自由に表示できるようになります。そして、このフレームワークは完全に無料のオープンソースです。

序文

この記事では、Vue で OpenLayers を使用する方法の概要を記録し、OpenLayers を使用してマップ コンポーネントを作成し、OpenLayers によって提供されるマップとローカル イメージをマップとして使用します。

概要
OpenLayers を使用すると、あらゆる Web ページに動的なマップを簡単に配置できます。あらゆるソースから読み込んだマップ タイル、ベクター データ、マーカーを表示できます。OpenLayers は、あらゆる種類の地理情報の利用を促進するために開発されました。完全に無料のオープン ソース JavaScript で、2 条項 BSD ライセンス (FreeBSD とも呼ばれます) に基づいてリリースされています。

公式アドレス: https://openlayers.org/

1. OpenLayersライブラリをインストールする

cnpm インストール ol

2. VueでOpenLayersコンポーネントを作成する

レンダリング

ここに画像の説明を挿入

コード

	<テンプレート>
	  <div id="map" class="map"></div>
	</テンプレート>
	
	<スクリプト>
	"ol/ol.css"をインポートします。
	「ol/Map」からマップをインポートします。
	「ol/source/OSM」からOSMをインポートします。
	"ol/layer/Tile" から TileLayer をインポートします。
	「ol/View」からViewをインポートします。
	
	エクスポートデフォルト{
	  マウント() {
	    このメソッドは、次のとおりです。
	  },
	  メソッド: {
	    initMap() {
	      新しいマップ({
	        レイヤー:
	          新しいタイルレイヤー({
	            ソース: 新しい OSM()
	          })
	        ]、
	        ターゲット: "マップ"、
	        ビュー: 新しいビュー({
	          中心: [0, 0],
	          ズーム: 2
	        })
	      });
	
	      console.log("初期化が完了しました");
	    }
	  }
	};
	</スクリプト>
	<スタイル>
	.map {
	  幅: 100%;
	  高さ: 400px;
	}
	</スタイル>

3. OpenLayersはローカル画像を地図として使用します

効果画像:

コード

	<テンプレート>
	  <div>
	    <div id="map" class="map"></div>
	  </div>
	</テンプレート>
	
	<スクリプト>
	"ol/ol.css"をインポートします。
	「ol/layer/Image」から ImageLayer をインポートします。
	「ol/Map」からマップをインポートします。
	「ol/proj/Projection」から Projection をインポートします。
	「ol/source/ImageStatic」からStaticをインポートします。
	「ol/View」からViewをインポートします。
	"ol/extent" から { getCenter } をインポートします。
	
	範囲を[0, 0, 338, 600]とします。
	投影を新しい投影にします({
	  コード: "xkcd-image",
	  単位:「ピクセル」、
	  程度: 程度
	});
	
	エクスポートデフォルト{
	  データ() {
	    戻る {
	      マップ: {}
	    };
	  },
	
	  マウント() {
	    このメソッドは、次のとおりです。
	  },
	
	  メソッド: {
	    initMap() {
	      this.map = 新しいマップ({
	        レイヤー:
	          新しいイメージレイヤー({
	            ソース: 新しい静的({
	              帰属: '© <a href="http://xkcd.com/license.html" rel="external nofollow" >xkcd</a>',
	              URL: "http://localhost:8080/img/123.5cba​​1af6.jpg",
	              投影: 投影、
	              画像範囲: 範囲
	            })
	          })
	        ]、
	        ターゲット: "マップ"、
	        ビュー: 新しいビュー({
	          投影: 投影、
	          中心: getCenter(範囲),
	          ズーム: 1,
	          最大ズーム: 4,
	          最小ズーム: 1
	        })
	      });
	    }
	  }
	};
	</スクリプト>
	<スタイル>
	.map {
	  幅: 100%;
	  高さ: 400px;
	}
	</スタイル>

Vue + OpenLayers クイックスタート学習チュートリアルに関するこの記事はこれで終わりです。Vue OpenLayers 入門コンテンツをさらにご覧になりたい方は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • VueはOpenLayersを使用してTiandi MapとAmapを読み込み
  • Vue+Openlayersでリアルタイム座標点表示を実現
  • Vue+openlayers は州や市の境界線を描画します
  • VueはTiandi Mapとopenlayersを使用して複数のベースマップのオーバーレイ表示を実現します。

<<:  Linux lnコマンドの使用

>>:  MySQL データベースのアップグレードにおけるいくつかの「落とし穴」

推薦する

js でパズルゲームを実装する

この記事では、パズルゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な内容は...

tbodyタグの魔法はテーブルコンテンツの表示を高速化します

他の人のウェブページを保存して見たことがあると思いますが、特にdwで開くと、多くのウェブページに&l...

CSS 表示テーブルの適応的な高さと幅の問題の解決策

定義と使用法display プロパティは、要素が生成するボックスのタイプを指定します。例示するこの属...

コンテンツタイプの説明、つまりHTTPリクエストヘッダーのタイプ

コンテンツ タイプについて学ぶには、まずそれが何であるか、そして何に使用されるかを知る必要があります...

VueはTodoListの例をカプセル化し、ブラウザのローカルキャッシュのアプリケーションを実装します。

この記事では主に、Vue で TodoList をカプセル化するケースと、ブラウザのローカル キャッ...

MySQL ステートメントに一重引用符またはバックスラッシュを含む値を挿入する方法

序文この記事では主に、シングルクォートやバックスラッシュを含む値を挿入するMySQLステートメントに...

アコーディオン効果を実現するJavaScript

この記事では、アコーディオン効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

Vue で pdfjs を使用して PDF ファイルをプレビューする方法

目次序文考えるライブラリディレクトリの解析とダウンロード使い方ファイルの場所実際の通話質問要約する序...

数千万件のレコードをMySQLに素早く挿入する方法に関する実践的なチュートリアル

1. データベースを作成する 2. テーブルを作成する1. deptテーブルを作成する テーブル「d...

無効な Nginx クロスドメイン設定 Access-Control-Allow-Origin の解決策

nginx バージョン 1.11.3次の構成を使用すると、検証は無効になり、クロスドメインの問題が依...

CSS3 クリアフロートメソッドの例

1. 目的この記事を通じて、誰もがフロートをクリアする原理と方法を理解し、最終的にこの記事が最良であ...

MySQLデータベースのリアルタイムバックアップの知識ポイントを詳しく解説

序文リアルタイムのデータベース バックアップの必要性は非常に一般的です。MySQL 自体はレプリケー...

Docker可視化管理ツールであるDocker UIの使用

1. DockerUIの紹介DockerUI は Docker API をベースとしており、Dock...

Linux デバイスに空き容量がありません inode の満杯により 500 エラーが発生します

iノードとは何ですか? inode を理解するには、まずファイル ストレージから始める必要があります...

innerHTML を理解する

<br />関連記事: innerHTML HTML DOM insertRow() メ...