osm4_ol_marker
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン | |||
| osm4_ol_marker [2018/05/22 11:35] – 管理者 | osm4_ol_marker [2018/05/22 13:54] (現在) – 管理者 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | [[start]]>[[programming_start]] | ||
| + | ====== OpenLayers4でのマーカー表示(仮) ====== | ||
| + | 注意:「OL4勉強のための試作プログラムなので間違っている可能性があります」「DokuWikiは個別にヘッダを編集できないので通常とは少し違う構造になっています」 | ||
| + | |||
| + | 東京都庁と千葉県庁にマーカーを表示するサンプルです。(見にくいかもしれませんが薄い青色の丸が標準マーカーです) | ||
| + | |||
| + | ===== デモ ===== | ||
| + | < | ||
| + | < | ||
| + | .mapdiv{height: | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | /* 外部CSSの読み込み */ | ||
| + | function cssLoad(cssFile){ | ||
| + | if(document.all){ | ||
| + | document.createStyleSheet(cssFile); | ||
| + | }else{ | ||
| + | var link = document.createElement(" | ||
| + | link.rel = " | ||
| + | link.href = cssFile; | ||
| + | link.type = " | ||
| + | document.getElementsByTagName(' | ||
| + | } | ||
| + | } | ||
| + | cssLoad(" | ||
| + | </ | ||
| + | <script src=" | ||
| + | |||
| + | <!-- マップ表示領域 --> | ||
| + | <div id=" | ||
| + | |||
| + | < | ||
| + | //---- マップ表示 ---- | ||
| + | // | ||
| + | var view0 = new ol.View({center: | ||
| + | // | ||
| + | var map0 = new ol.Map({ | ||
| + | target: ' | ||
| + | layers: [new ol.layer.Tile({source: | ||
| + | view: view0, | ||
| + | controls: ol.control.defaults({attributionOptions: | ||
| + | }); | ||
| + | // | ||
| + | map0.addControl(new ol.control.ZoomSlider()); | ||
| + | |||
| + | //---- マーカー関連 ---- | ||
| + | // | ||
| + | var marker0=[]; | ||
| + | // | ||
| + | marker0[0] = new ol.Feature({ | ||
| + | geometry: new ol.geom.Point(ol.proj.fromLonLat([139.692, | ||
| + | }); | ||
| + | // | ||
| + | map0.addLayer(new ol.layer.Vector({source: | ||
| + | features: [marker0[0]] | ||
| + | })})); | ||
| + | // | ||
| + | marker0[1] = new ol.Feature({ | ||
| + | geometry: new ol.geom.Point(ol.proj.fromLonLat([140.122, | ||
| + | }); | ||
| + | map0.addLayer(new ol.layer.Vector({source: | ||
| + | features: [marker0[1]] | ||
| + | })})); | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== ソースコード ===== | ||
| + | <code javascript> | ||
| + | < | ||
| + | .mapdiv{height: | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | /* 外部CSSの読み込み */ | ||
| + | function cssLoad(cssFile){ | ||
| + | if(document.all){ | ||
| + | document.createStyleSheet(cssFile); | ||
| + | }else{ | ||
| + | var link = document.createElement(" | ||
| + | link.rel = " | ||
| + | link.href = cssFile; | ||
| + | link.type = " | ||
| + | document.getElementsByTagName(' | ||
| + | } | ||
| + | } | ||
| + | cssLoad(" | ||
| + | </ | ||
| + | <script src=" | ||
| + | |||
| + | <!-- マップ表示領域 --> | ||
| + | <div id=" | ||
| + | |||
| + | < | ||
| + | //---- マップ表示 ---- | ||
| + | // | ||
| + | var view0 = new ol.View({center: | ||
| + | // | ||
| + | var map0 = new ol.Map({ | ||
| + | target: ' | ||
| + | layers: [new ol.layer.Tile({source: | ||
| + | view: view0, | ||
| + | controls: ol.control.defaults({attributionOptions: | ||
| + | }); | ||
| + | // | ||
| + | map0.addControl(new ol.control.ZoomSlider()); | ||
| + | |||
| + | //---- マーカー関連 ---- | ||
| + | // | ||
| + | var marker0=[]; | ||
| + | // | ||
| + | marker0[0] = new ol.Feature({ | ||
| + | geometry: new ol.geom.Point(ol.proj.fromLonLat([139.692, | ||
| + | }); | ||
| + | // | ||
| + | map0.addLayer(new ol.layer.Vector({source: | ||
| + | features: [marker0[0]] | ||
| + | })})); | ||
| + | // | ||
| + | marker0[1] = new ol.Feature({ | ||
| + | geometry: new ol.geom.Point(ol.proj.fromLonLat([140.122, | ||
| + | }); | ||
| + | map0.addLayer(new ol.layer.Vector({source: | ||
| + | features: [marker0[1]] | ||
| + | })})); | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== 備考 ===== | ||
| + | この部分でマーカーを設定・表示しています。 | ||
| + | |||
| + | <code javascript> | ||
| + | var marker0=[]; | ||
| + | // | ||
| + | marker0[0] = new ol.Feature({ | ||
| + | geometry: new ol.geom.Point(ol.proj.fromLonLat([139.692, | ||
| + | }); | ||
| + | // | ||
| + | map0.addLayer(new ol.layer.Vector({source: | ||
| + | features: [marker0[0]] | ||
| + | </ | ||
| + | 座標指定がGoogleMapと逆で「経度, | ||
| + | |||
| + | ---- | ||
| + | [[start]]>[[programming_start]] | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
