OpenLayers7 OpenStreetMap 最新版7.1.0 地図

 

オープンストリートマップ 7.1.0 

 

自分のサイトに地図を埋め込みたいとき手段はいくつかあります。

google mapが今一番の主流ですが、

「googleは急に有料化とか言ってきそう」というのはありえます。念のため別の手段で地図を使いたい人用です。

 

OpenLayersとは

OpenLayers – Wikipedia

OpenLayersはブラウザで地図データを表示する、JavaScriptで組まれたオープンソースライブラリである。

 

読者が見るのはOpenStreetMapで、開発者が使うライブラリの呼び方はOpenLayersということらしい。

実装方法を解説していきますが、

途中にあるコードを丸コピーしてご自身のサーバーに置けば動くので、全くコードが読めないコピペコーダーでも大丈夫です。

公式リファレンスなんてめんどいから読みたくない人でも一撃でいけます。

 

つくるもの

 

こちらが完成品です

OpenStreetMapTEST

 

実装方法

 

最小限のコードで本当に地図を表示させるだけのコードです。

公式サイト

OpenLayers – Welcome

 

CDN

 

CDNで済むなら、CDNにした方が良いと思います。めんどいし。

OpenLayers – Get the Code

Hosted build for development

の下のコードをhtmlのヘッダーに貼ります。

 

HTML

 

 

HTMLで必要なのは

  • jQuery  そもそもこれがないと動きません
  • OpenLayers のJSファイルをCDNで取得
  • OpenLayers のcssファイルをCDNで取得
  • 地図を設置するターゲットとなるID (今回は#mapcontainer)

 

です。それぞれ

  • 5行目: jQuery
  • 6行目: OpenLayersのJS
  • 7行目: CSS
  • 12行目: 地図を設置するID

 

javascript

 

  • 1行目: OpenLayer用のfanctionを作ります。
  • 2行目: var map に ol (OpenLayer)のマップを突っ込んで、ターゲットやレイヤー、初期位置を突っ込みます。
  • 17行目: 最後に、無記名functionで 、html,jsを読み込んだ瞬間発動します。(ジョジョっぽい)

 

過アクセス防止

 

実際には、$(“#id”).click(function() { OOO~~~OOO });

などでクリック時にのみ表示 つまりクリックイベントにバインドすると、openstreetmapに過アクセスを防げると思います。

 

 

参考

 

1個バージョン古いですが参考になります

【OpenLayers 6】埋め込み地図を表示させる方法 | DrawTrail

 

自分用

あるあるon clickイベントが、後で生成された部分で発火しないやつの対応

jQueryで後から追加生成した要素にクリックイベントを発生させる方法

これも読んでみませんか