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

推薦する

ページコンテンツ全体を中央に配置して、高さがコンテンツに合わせて自動的に拡張されるようにする方法

ページコンテンツ全体を中央に配置する方法と、コンテンツに合わせて高さを自動的に拡大縮小する方法。これ...

HTML のボタン タグをクリックしてページにジャンプする 3 つの方法

方法1: onclickイベントを使用する <input type="button&...

vue-element-admin プロジェクトのインポートとエクスポートの実装

vue-element-admin インポートコンポーネントのカプセル化テンプレートとスタイルまず、...

MySQL MyISAM と InnoDB の違い

違い: 1. InnoDB はトランザクションをサポートしていますが、MyISAM はサポートしてい...

MYSQL インストールの解凍バージョンと発生したエラーと解決策

1 インストールMYSQL 公式サイトから対応する解凍バージョンをダウンロードし、必要なディレクトリ...

Nginx を使用して DoNetCore を Alibaba Cloud にデプロイする方法

基本的な環境設定まずはご自身でドメイン名とサーバーを購入してくださいクラウドサーバーECSに基づいて...

Vue イベントの $event パラメータ = イベント値の場合

テンプレート <el-table :data="データリスト"> &...

Mysql InnoDBとMyISAMの違いの分析

MySQL は、myisam、innodb、memory、archive、example など、多く...

IDEA 2020 で Tomcat サーバーを構成するための詳細な手順

IDEA 2020 で Tomcat を構成する手順は次のとおりです。最初のステップはTomcatを...

Web ページのソース ファイルを表示できない場合はどうすればよいですか?

Q: Outlook または IE のどちらを使用している場合でも、マウスを右クリックすると、ポッ...

HTML テーブル マークアップ チュートリアル (37): 背景画像属性 BACKGROUND

テーブル ヘッダーの背景画像を設定します。任意の GIF または JPEG 画像ファイルを使用できま...

Docker 学習: コンテナ コンテナの具体的な使用方法

コンテナは Docker のもう一つの中心的な概念です。簡単に言えば、コンテナとは、独立して実行され...

SQL Server の完全バックアップに関する珍しいエラーと解決策

1. エラーの詳細一度、データベース全体のバックアップを手動で実行したときに、次のエラーが発生しまし...

ネイティブJSを使用した遅延読み込みlazyLoadの3つの方法の概要

目次序文方法1: 高コントラスト方法2: getBoundingClientRect() APIを使...

XHTML の一般的なタグ

XHTML タグとは何ですか? XHTML タグ要素は、XHTML ドキュメントの基本的なコンポーネ...