openlayers6のマップオーバーレイの詳細な説明

openlayers6のマップオーバーレイの詳細な説明

1. オーバーレイの概要

オーバーレイとは、その名の通り、別の形で地図上に表示される、覆うことを指します。多くの学生は、これをレイヤーと混同しています。主に、地図上の位置に関連する要素を配置するために使用されます。一般的な地図オーバーレイには、 popup 彈窗label標注信息text文本信息などの 3 種類があり、これらのオーバーレイは HTML の要素に相当します。オーバーレイ属性要素は HTML 要素にバインドされ、座標パラメータが同時に設定され、HTML 要素が地図上に配置されます。パンやズームを行うと、HTML 要素も地図の動きに合わせて移動します。

公式サイトの説明を見てみましょう。実はこの属性はデフォルトでマップに存在しています。前回の記事のレイヤー、コントロール、インタラクションと同じです。默認加載地圖的情況下是允許設置默認的overlay覆蓋物。特定のイベントやメソッドがトリガーされたときに、別のカバレッジを追加することもできます。ここでは前回の記事の説明を参照できますが、ここでは詳細には説明しません。

ここに画像の説明を挿入

2. オーバーレイプロパティ

Overlay は、初期化時に多くの構成パラメータを受け入れることができます。これらの構成パラメータは、オブジェクト リテラル (options) を形成するキーと値のペアであり、その後、 new ol.Overlay(options)などの「コンストラクター」に渡されます。ここで、options は、パラメータのキーと値のペアで構成されるオブジェクト リテラルです。設定可能なキーと値のペアは次のように定義されます: (赤は共通プロパティを示します)

  • id 、対応するオーバーレイの ID を設定します。これにより、ol.Map の getOverlayById メソッドを使用して対応するオーバーレイを取得できます。
  • elementはオーバーレイに含まれる DOM 要素です。 offsetはオフセットで、ピクセル単位で、配置位置 (position) に対するオーバーレイのオフセットです。デフォルト値は [0, 0] で、正の値はそれぞれ右と下にオフセットします。 positionはマップの座標系におけるオーバーレイの位置です。
  • positioning 、オーバーレイ 位置の相対位置については、可能な値には、bottom-left、bottom-center、bottom-right、center-left、center-center、center-right、top-left、top-center、top-right が含まれます。デフォルトは top-left で、要素の左上隅が位置と一致することを意味します。
  • stopEvent 、マップのイベント伝播を停止するかどうかを指定します。デフォルト値は true で、伝播を停止することを意味します。わかりにくいかもしれません。たとえば、マウス ホイールをマップ上で回転すると、マップのズーム イベントがトリガーされます。ホイールをオーバーレイ上で回転すると、ズーム イベントはトリガーされません。マウスでオーバーレイのズームをサポートする場合は、このプロパティを false に設定するだけです。
  • insertFirst は、オーバーレイを最初にコンテナーに追加するかどうかを指定します。stopEvent が true に設定されている場合、オーバーレイ コントロールと openlayers コントロールはコンテナー内に配置されます。このとき、insertFirst を true に設定すると、オーバーレイが最初にコンテナーに追加されます。このように、オーバーレイはデフォルトでコントロールの次のレイヤーにあります (CSS z-index)。したがって、stopEvent と insertFirst の両方がデフォルト値を使用する場合、オーバーレイはデフォルトでコントロールの次のレイヤーにあります。
  • autoPan 、オーバーレイの setPosition メソッドがトリガーされたときにトリガーされます。オーバーレイがマップの境界を超えると、オーバーレイが完全に表示されるようにマップが自動的に移動します。
  • autoPanAnimation、自動パン効果アニメーションを設定します。パラメータタイプはolx.animation.panOptionsです。
  • autoPanMargin、マップが自動的にパンされるときのマップの端とオーバーレイ間のスペース(ピクセル単位)。デフォルトは 20 ピクセルです。

以下の場合に使用します。

2. オーバーレイイベント

サポートされているイベントは主に、 ol.Objectから継承されたchangeイベントで、オーバーレイ関連のプロパティまたはオブジェクトが変更されたときにトリガーされます。

  • 参照カウンタが増加するとトリガーされる変更。
  • change:element、オーバーレイに対応する要素が変更されたときにトリガーされます。
  • change:map、オーバーレイに対応するマップが変更されたときにトリガーされます。
  • change:offset、オーバーレイに対応するオフセットが変更されたときにトリガーされます。
  • change:position、オーバーレイの対応する位置が変更されたときにトリガーされます。
  • change:positioning、オーバーレイの対応する配置が変更されたときにトリガーされます。
  • propertychange、オーバーレイの対応するプロパティが変更されたときにトリガーされます。

では、対応するイベントをどのようにバインドするのでしょうか? Openlayers バインディング イベントは、DOM レベル 2 イベント バインディングを含む一般的な DOM イベント バインディング ルールに従います。以下は、オーバーレイの位置が変更されたときにブラウザー コンソールに文字列を出力する例です。

var オーバーレイ = 新しい ol.Overlay({
    // オーバーレイを作成します...省略});
// イベント overlay.on("change:position", function(){
    console.log("位置が変更されました!");
})

4. オーバーレイ方式

サポートされているメソッド ここでは、オーバーレイに固有のメソッドのみを紹介し、継承されたメソッドは紹介しません。これらは主に、オーバーレイ プロパティとそれに関連付けられたオブジェクトのgetメソッドとsetメソッドです。

  • getElement、オーバーレイを含む DOM 要素を取得します。
  • getId、オーバーレイ ID を取得します。
  • getMap、オーバーレイに関連付けられたマップ オブジェクトを取得します。
  • getOffset、オフセット属性を取得します。
  • getPosition、位置属性を取得します。
  • getPositioning、配置属性を取得します。
  • setElement; オーバーレイ要素を設定します。
  • setMap、オーバーレイ付きのマップ オブジェクトを設定します。
  • setOffset、オフセットを設定します。
  • setPosition、位置プロパティを設定します。
  • setPositioning は、配置プロパティを設定します。

5. 最後まで書き続ける

冒頭で、オーバーレイにはpopup 彈窗label標注信息text文本信息

詳細については、この記事を参照してください openlayers6 [8] マップオーバーレイオーバーレイポップアップウィンドウ、マーカー注釈、テキストテキストの3つの一般的な使用法

openlayers6マップオーバーレイの詳細な説明については、これで終わりです。より関連性の高いopenlayerオーバーレイマップカバレッジコンテンツについては、123WORDPRESS.COMの以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • openlayers6 マップオーバーレイの一般的な 3 つの用途 (ポップアップウィンドウマーカーテキスト)
  • Openlayersは地図注釈を描画します
  • OpenLayers 3 のベクターマップソースの読み込みの問題を解決する

<<:  MySQLを閉じることができない問題を解決する方法

>>:  NginxはGzipアルゴリズムを使用してメッセージを圧縮します

推薦する

フロントエンドネットワーク、JavaScriptの最適化、開発のヒントについて簡単に説明します。

1. ネットワークの最適化YSlowには23のルールがあります。これら数十のルールは、主に、不要な...

CSSを使用して中央に固定された2つの列と適応型列を実現する方法

1. 絶対位置とマージンを使用するこの方法の原則は、左側と右側をドキュメントの流れから外れるように配...

MySQL データベース開発の 36 の原則 (要約)

序文これらの原則は実際の戦闘から要約されています。あらゆる原則の背後には血なまぐさい教訓があるこれら...

WeChatアプレットがフォーム検証を実装

WeChatアプレットフォームの検証、参考までに具体的な内容は次のとおりです。プラグインWxVali...

JS でクリップボード API を使用する方法

目次1. Document.execCommand() メソッド(1)コピー操作(2)貼り付け操作(...

Ubuntuのインストール Matlab2020b の詳細なチュートリアルとリソース

目次1. リソースファイル2. インストール2.1 詳細な手順2.1.1 ディスクイメージのマウント...

Linux での umask の使用に関する詳細な説明

私は最近 Linux を学び始めました。Ma Ge の umask に関する Linux コースを読...

Node.jsはMySQLデータベースの実戦記録を追加、削除、変更、チェックします

目次プロジェクトでデータベースを操作する3つのステップデータベースを操作するための具体的な手順1: ...

Docker 経由で CentOS コンテナを作成する手順

目次序文コンテナ間の通信を容易にするためのブリッジネットワークを作成するCentOS7イメージを使用...

HTML における相対と絶対の使用法と違いの詳細な説明

HTML における相対と絶対の違い: 正直に言うと、HTML は世界で最もシンプルな言語です。タグ言...

HTML チュートリアル: よく使われる HTML タグのコレクション (4)

導入された HTML タグは、必ずしも XHTML 仕様に完全に準拠しているわけではありません。実際...

Linuxのbasenameコマンドの使い方

01. コマンドの概要basename - ファイル名からディレクトリとサフィックスを削除しますba...

React 高階コンポーネント HOC 使用方法の概要

HOCを紹介する一文高階コンポーネント (HOC) とは何ですか? 公式ドキュメントによると、「高階...

フラットスタイルを使用してウェブサイトをデザインする方法

フラットなウェブサイト構造の本質はシンプルさです。コンテンツの重要なポイントを強調し、ページの装飾効...

ろうそくを溶かす(水滴)サンプルコードを実現する純粋な CSS

成果を達成する実装のアイデアフィルターのコントラストとぼかしを利用して溶ける効果を実現します。親要素...