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アルゴリズムを使用してメッセージを圧縮します

推薦する

Vuex データの永続性を実装するためのアイデアとコード

vuexとはvuex: vue.js専用に開発された状態管理ツールで、すべてのコンポーネントの状態を...

表 td 画像水平および垂直中央揃えコード

HTMLコード:コードをコピーコードは次のとおりです。 <td align="cen...

5 分で vue-cli3 を使用してプロジェクトを作成する方法を説明します (初心者向けガイド)

目次1. Vue環境を構築する2. Vue スキャフォールディングツール3. プロジェクトを作成する...

MySQL の計画タスクとイベント スケジュール例の分析

この記事では、例を使用して、MySQL の計画されたタスクとイベントのスケジュールについて説明します...

Vueのキーボードイベントの詳細な説明

目次共通キーエイリアスエイリアスが指定されていないキーシステム修飾キーカスタムキーエイリアス要約する...

MySQL 8.0.18はデータベースにユーザーを追加し、権限を付与します

1. データベースにログインするには、rootユーザーを使用することをお勧めします。 mysql -...

MySQLは1億のテストデータを素早く挿入します

目次1. テーブルを作成する1.1 テストテーブルt_userを作成する1.2 一時テーブルの作成2...

HTMLタグのtarget属性の使用法

1: <a> タグを使用してページにリンクする場合、target 属性の役割は誰もが知っ...

tinyMCEの使い方と体験の詳細な説明

tinyMCE の使用方法の詳細な説明初期化TinyMCE を初期化するときは、ページの HEAD ...

Zookeeperスタンドアロン環境とクラスタ環境の構築

1. 単一マシン環境の構築# 1.1 ダウンロードZookeeper の対応するバージョンをダウンロ...

Web デザイン: Web ミュージックの実装テクニック

<br />Web ページに音楽を挿入する場合、サフィックスに応じて異なるコードを記述す...

uniapp vue および nvue カルーセル コンポーネントのサンプル コード

vueの部分は以下のとおりです。 <テンプレート> <ビュークラス="&...

JavaScript バブルソートの例

目次1. バブルソートとは何か2. 例を挙げるラウンド1:第2ラウンド:第3ラウンド:第4ラウンド:...

nginx で SSL 証明書を設定して https サービスを実装する方法

前回の記事では、openssl を使用して無料の証明書を生成した後、この証明書を使用してローカル ノ...

MySQLの共通関数の概要

序文: MySQL データベースは、よく使用される集計関数、日付および文字列処理関数など、幅広い関数...