• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Openlaerで四角描画)

OpenLayersで地図の中心に四角形を描画する方法は?

このQ&Aのポイント
  • OpenLayersを使用して表示中の地図の中心に四角形を描画したいです。
  • index.htmlのコードでは、地図の表示とズームを設定するJavaScriptが含まれています。
  • loadMap()関数を使用して地図を読み込み、__mapオブジェクトで操作します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Proof4
  • ベストアンサー率78% (151/192)
回答No.2

ご希望の四角形がどのようなものか、具体的に把握できなかったので推測して実装しました。 ご提示いただいたソースコードに以下の改変を加えると、地図の移動に関わらず地図の中央に120px×120pxの四角形を描画します。 ■JavaScript ・var MaxZoom = 17の次の行に下記を追加 var square = { // 描画する四角形のサイズ(px) width: 120, height: 120 }; ・loadMap関数の末尾に下記を追加 // 中心に四角形表示 var target = document.getElementById(__map.values_.target); target.insertAdjacentHTML('beforeend', '<div id="square_overlay" style="width:' + square.width + 'px; height:' + square.height + 'px"></div>'); ■CSS ・下記のCSSを追加 #square_overlay{ position: absolute; top: 50%; left: 50%; transform: translate3d(-50%, -50%, 0); z-index: 2147483647; background: rgba(255, 0, 0, 0.5); border: solid 1px red; } var squareの値を変えるとサイズが変更できます。また、スタイルは適宜お好みのものを指定してください。

rai4_
質問者

お礼

ありがとうございました。早速試してみます。

その他の回答 (1)

  • doraneko66
  • ベストアンサー率11% (535/4742)
回答No.1

詳しくはわかりませんが z-indexの問題なのでは? 地図と四角の読み込ませ方の順番を考えて見た方が良い気がします。 CCSの読み込ませ方の位置、JSの読み込ませ方の位置。とか

関連するQ&A