furuhashilab / 2021gsc_ShogoHirasawa

古橋研究室 4年 平澤彰悟の卒論リポジトリ
https://furuhashilab.github.io/2021gsc_ShogoHirasawa/
Creative Commons Attribution 4.0 International
0 stars 0 forks source link

ローカルにダウンロードした、ラスタータイルを画面に表示したい #24

Open ShogoHirasawa opened 2 years ago

ShogoHirasawa commented 2 years ago

やりたいこと

つまずいている箇所

行ったこと

スクリーンショット 2022-01-22 8 41 30

先生が作ってくれた二子玉川ラスタータイルをGithubにアップロードさせ、以下のコードで表示を試みた --> 表示成功

dronebird: {
type: "raster",
tiles: [
"https://furuhashilab.github.io/2021gsc_ShogoHirasawa/futakotamagawac_ RT/{z}/{x}/{y}.png",
],
tileSize: 256,
attribution:
'Map tiles by <a target="_top" rel="noopener" href="http://furuhashilab.com/">Furuhashi Lab.</a>, under <a target="_top" rel="noopener" href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>. Data by <a target="_top" rel="noopener" href="http://openstreetmap.org">OpenStreetMap</a>, under <a target="_top" rel="noopener" href="http://creativecommons.org/licenses/by-sa/3.0">CC BY SA</a>',
},
スクリーンショット 2022-01-22 8 46 19

ラスタータイルをローカルにダウンロードさせて、絶対パス/相対パスを指定して表示を試みる --> 表示失敗

dronebird: {
type: "raster",
tiles: [
"/Users/shogohirasawa/Desktop/2021gsc_ShogoHirasawa/futakotamagawac_ RT/{z}/{x}/{y}.png", //ローカルのパス
],
tileSize: 256,
attribution:
'Map tiles by <a target="_top" rel="noopener" href="http://furuhashilab.com/">Furuhashi Lab.</a>, under <a target="_top" rel="noopener" href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>. Data by <a target="_top" rel="noopener" href="http://openstreetmap.org">OpenStreetMap</a>, under <a target="_top" rel="noopener" href="http://creativecommons.org/licenses/by-sa/3.0">CC BY SA</a>',
},
  dronebird: {
              type: "raster",
              tiles: [
                "futakotamagawac_ RT.png/{z}/{x}/{y}.png", //ローカルのパス
              ],
              tileSize: 256,
              attribution:
                'Map tiles by <a target="_top" rel="noopener" href="http://furuhashilab.com/">Furuhashi Lab.</a>, under <a target="_top" rel="noopener" href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>. Data by <a target="_top" rel="noopener" href="http://openstreetmap.org">OpenStreetMap</a>, under <a target="_top" rel="noopener" href="http://creativecommons.org/licenses/by-sa/3.0">CC BY SA</a>',
            },

Style Specificationにはローカルのパスで指定するのではなく、https://〜で指定していたため、参考にはあまりならなかった...。

自分の予想

ShogoHirasawa commented 2 years ago

あくまで、仮設段階だがローカルにサーバーを立てて、そこにタイルデータを置き、サーバに置いたタイルデータを参照するようにすれば、うまくいくのかも。

hfu commented 2 years ago

おつかれさまです。最近のウェブブラウザは、ドメインを横断してリソースを共有することに対して制約を設けていく方向にあります。データの詐取など情報セキュリティリスクに対する対策だと理解しています。

ローカルのファイルシステムからのリソースの読み込みについても、年々制約が厳しくなってきています。

おっしゃる通り、ローカルにサーバを立てて読ませるのが正解になります。サーバを立てるという意識的な行動をユーザが取ることにより、ウェブブラウザも警戒を解く、といった理解で良いと思っています。

ShogoHirasawa commented 2 years ago

お忙しい中、返信いただきありがとうございます。 なるほど、セキュリティ面などの理由から制約があるのですね! 本当に勉強になります!サーバーを立てて再チャレンジしてみます!