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 データベースのアップグレードにおけるいくつかの「落とし穴」

推薦する

MySQLのスペースをクリーンアップするいくつかの具体的な方法

目次序文1. ファイルのディスク使用量を確認する1.1 ディスク容量の使用状況を確認する1.2 ディ...

CocosCreatorオブジェクトプールの使い方

目次序文:特定の操作ステップ1: プレハブを準備するステップ2: オブジェクトプールを初期化するステ...

HTML シンボルからエンティティへのアルゴリズムのチャレンジ

チャレンジ:文字列内の文字 &、<、>、" (二重引用符)、および &...

Win10でのMySQL5.7.17無料インストール版の基本設定チュートリアルについて(画像とテキスト付き)

データベース アプリケーションは、アプリケーション システムに不可欠な部分です。リレーショナル デー...

Hbase 入門

1. HBaseの概要1.1 HBaseとはHBase は、高い信頼性、高いパフォーマンス、列ストレ...

Vue プロジェクトでの支払い機能の実装 (WeChat 支払いと Alipay 支払い)

目次プロジェクトにおける一般的な支払い方法Alipay決済微信ペイプロジェクトにおける一般的な支払い...

Mysql5.7 で JSON 操作関数を使用する手順

序文JSON は、言語に依存しないテキスト形式を使用する軽量のデータ交換形式で、XML に似ています...

CSS 境界線の半分または部分的に表示される実装コード

1. 疑似クラスを使用して境界線の半分を表示する <!DOCTYPE html> <...

組み込み移植 docker エラー問題 (概要)

長い移植と情報検索の期間を経て、組み込みDockerの問題を解決することができました。インターネット...

IDEA が Docker を統合してリモート展開を実現するための手順

1. Dockerサーバーへのリモートアクセスを有効にするdocker が配置されているリモート サ...

Vue で手ぶれ補正とスロットリングを使用する方法

目次序文コンセプト安定意味使用シナリオコードVueでの使用スロットリング意味使用シナリオコードVue...

DockerでJenkinsをインストールし、初期プラグインのインストール失敗の問題を解決する

Jenkins をインストールした後、プラグインの初期ダウンロードが常に失敗し、インストールが失敗し...

CSS3は子供のころの紙飛行機を実現する

今日は折り紙飛行機(飛べる飛行機)を作ります基本的にすべてCSSで実装されており、JSはごく一部に過...

vue3 のさまざまなファイルタイプのプレビュー機能の例

目次序文1. オフィス文書の種類のプレビュー2. PDF形式のプレビュー3. 画像の種類4. ビデオ...

MySQL 8.0.23 メジャーアップデート (新機能)

著者: Guan Changlong は、Aikesheng の配送サービス部門の DBA です。主...