[{PageViewPlugin}] [JavaScript], [OSM Plugin], [Update layer on Map] !!!Abstract [OSM Plugin]にも使っているこのOpenLayers。すばらしい[JavaScript]ライブラリです。 !!!Topics *基本 |サンプル[1]をいくつか眺めていると、何となく以下の方なアプローチが基本な気がする。 |(1)Layerオブジェクトたちにインプットするソースとスタイルを準備する。 |(2)MapオブジェクトにインプットするLayerを準備する。複数でもよい。Layerを作るときにはソースとスタイルがインプット。OSMレイヤーとその上に乗せるデータレイヤーの2層が基本か。 |(3)[JavaScript]上でMapオブジェクトを作り、準備していたLayerをlayersにインプットしつつ、html上のdivタグにidで紐づける |(4)Mapオブジェクトにクリックしたときの動作などを追加する。 *地図に線を引く |簡単にできそうだったが、ちょっと苦労したラインを書くところですが、[2]を参照して、なんとか行けそう。Google map でいうPolylineは、OLにおけるLineStringと理解しました。 *地図に円を描く |ol.style.Circleを使う[6]。最近(2021年6月)のサンプルだとCircleStyleというのがあるらしい[7]。バージョンは6.5.0か。。そのうちバージョンアップしたほうがいいんだろうな。 *Layer |layerの順番は、mapオブジェクトのlayers属性に入っている配列の順番。最初にあるlayerほど下に配置される。クリックするときに重なっていたら、上にあるLayerのFeatureが選択される。 *日付変更線をまたぐLineString |普通にやると、横に一直線意図しない線が描かれてしまいます。ここ[3]で苦労しているようなので解読。結論としては、日付変更線つまり東経180度と西経180の線をまたぐLineStringは、交点を求めて2つに分けるのが正解らしい。簡易的に[greatCircle.js|https://github.com/tateshitah/gnssfinder/blob/master/gnss_webclient/WebContent/js/greatCircle.js]を作って、解決。 *OSMの標準タイルが使えない!? |2020年、気が付くといつの間にか、OSMのタイルが表示されなくなっていた。エラーとしてはhttps://b.tile.openstreetmap.org/2/3/1.png net::ERR_NAME_NOT_RESOLVEDな感じがたくさん出ている。 |この記事[4]に近い。openstreetmap.orgにアクセスしてみると、「標準」レイヤーを選択していると地図が表示されなくなっている。「サイクリングマップ」レイヤーとかはちゃんと表示されるのだが。ちなみになぜか[OSM Plugin]はちゃんと動いている。 |仕方がないので、GSIのタイルに変更[5]。そうしたらちゃんと表示されたが、なぜかdragが効かない。ドラッグだけでなく、クリックイベントそのものに反応していない様子。→cssの指定が間違えていただけだった。エラーで出してくれよー。 !!!Reference #[#1]OpenLayers Contributors, OpenLayers Examples, [http://openlayers.org/en/latest/examples/] #[#2]Rider Matsup、2014年9月10日、OpenLayers 3 を使ってみよう(その5:テキストデータから折線データ読込み)、[http://matsup.blogspot.com/2014/09/openlayers-3_61.html] #[#3]Stack Exchange, 2014年1月21日, Splitting Linestrings on the dateline with OpenLayers, [https://gis.stackexchange.com/questions/83425/splitting-linestrings-on-the-dateline-with-openlayers] #[#4]LivingCG, 2020年1月6日, OpenStreetMapの地図が表示されない問題について, [https://livingcg.zendesk.com/hc/ja/articles/360038533191] #[#5]Geospatial Information Authority of Japan., 2020年6月21日アクセス、地理院タイル一覧, [https://maps.gsi.go.jp/development/ichiran.html] #[#6][ol|https://geoadmin.github.io/ol3/apidoc/ol.html] [.style|https://geoadmin.github.io/ol3/apidoc/ol.style.html] .Circle, 2021年6月7日アクセス、[https://geoadmin.github.io/ol3/apidoc/ol.style.Circle.html] #[#7]Custom Polygon Styles, 2021年6月7日アクセス、[https://openlayers.org/en/latest/examples/polygon-styles.html]