今年の初めのことだ。
新しくなった生成アドレスをブログに貼り付けても正常に表示されない。
マップが表示されるだけである。
その下の「大きな地図で見る」をクリックすればブログ上ではなく直接ストリートビューが
表示される仕組みだ。
前々からIEでは表示不具合があり、そのための対策なのかどうなのか
このことに関して検索してみたがどこにも書いてない。僕が探せないだけだろうが・・・
しかし今まで直接ビューが表示されていたにもかかわらず、新しいアドレスでは
マップしか表示されないのでちょっと困った。
過去の記事を見てみるとすべてなにも表示されなくなっていた
空白の下に「大きな地図で見る」だけがポツンと表示されるだけだ。
たしかにクリックすれば見られるのだがこれではあまりにもまずすぎると思う。


まず、生成されるアドレスについて考えてみよう。
アドレスは2つある、マップを共有するためのURLのみのアドレス
もうひとつは自分のブログなどに埋め込むためのiframeを使ったアドレスだ。
WEBプログラムをちょっとでもかじったことのある人ならこれらのアドレスにくっついている
記号がパラメータであることはすぐにわかる。
まずは通常のマップのアドレス、以下がそのアドレスになる。
http://maps.google.co.jp/maps?hl=ja&ie=UTF8&ll=35.676293,139.746927&spn=0.012707,0.025856&z=16&brcurrent=3,0x60188b89b01ccfa5:0xa07a23dd03bbf2b4,1
このままではわかりにくいのでパラメータを分けていく
1.hl=ja
2.ie=UTF8
3.ll=35.676293,139.746927
4.spn=0.012707,0.025856
5.z=16
6.brcurrent=3,0x60188b89b01ccfa5:0xa07a23dd03bbf2b4,1
1の《hl》はHost languageの略である。jaはわかると思うがjapanのことである。
ここをusに変えると地図の地名表示は英語にある。
2の《ie》は残念ながらインターネットエクスプローラーの略ではない、input character encoding setの略である。UTF8は文字コードというかそういうフォーマットみたいなもんだ、ここは固定と考えていいと思う。
3の《ll》はLatitude,longitude of map centreとなっている、英語はよくわからないが、緯度経度のことはだいたいさっしがつく
4の《spn》はスパンの略のようだがいまいちよくわかりません(笑
5の《z》はズームレベルである
6の《brcurrent》は何なんでしょうか、パラメータもややこしそうでいじり難いのでよくわからんです
まぁマップですから緯度経度とズームレベルが決まればそれで表示できそうなのであとのは気にしなくてもいいです。
次の埋め込みようのアドレスです。
タグの部分は今回の問題とは関係ないので省きます
http://maps.google.co.jp/maps?hl=ja&ie=UTF8&ll=35.676293,139.746927&spn=0.012707,0.025856&z=16&brcurrent=3,0x60188b89b01ccfa5:0xa07a23dd03bbf2b4,1&output=embed
ブログで見ると表示されていないが、&ampというのが表示されている
ここで&ampは記述の問題なので&と同じと思ってください
さきほどと違うのは
output=embed
が余分についているくらいです。
しかしこれも決まり文句でしょうか気にしなくてもOKです。
次に問題のストリートビューのアドレスを見てみます。
http://maps.google.co.jp/maps?hl=ja&ie=UTF8&ll=35.676333,139.747102&spn=0,359.974144&z=16&brcurrent=3,0x60188b89b01ccfa5:0xa07a23dd03bbf2b4,1&layer=c&cbll=35.676293,139.746927&panoid=S0RqJenoqbGF7gTSNqrT3g&cbp=13,255.75,,0,5
分けてみましょう
hl=ja
ie=UTF8
ll=35.676333,139.747102
spn=0,359.974144
z=16
brcurrent=3,0x60188b89b01ccfa5:0xa07a23dd03bbf2b4,1
layer=c
cbll=35.676293,139.746927
panoid=S0RqJenoqbGF7gTSNqrT3g
cbp=13,255.75,,0,5
新しく登場したのは下の4つですね
《layer》これもよくわかりません、アメリカ本土なので渋滞状況などをONにすると《t》が付いたりしますがストリートビューでは《c》が付いています
《cbll》ストリートビュー用の緯度経度です。どうもcbというのがストリートビューの略になるのか?
《panoid》パノラマIDなのでたぶん写真のIDじゃないかなと思います
《cbp》ストリートビュー用のパラメータです。5つ分かれています。
1.ミニマップの設定、11が下半分の地図、12が右下に出る小さい地図、13で非表示のようです
2.左右の角度
3.説明ではチルトとなっているが上下の角度は5番目で変わるし、ここはいつもパラメータが入っていないのでよくわかりません
4.ズームレベル0-3まで
5.上下の角度
埋め込みようのアドレスを見ると以下の2つが追加されているだけだ
source=embed
output=svembed
この2つについても決まり文句のような感じがする。
はじめに生成アドレスが変わっていると書いた。
では以前のアドレスはどんなものだったのだろうか
以前の埋め込みようのパラメータは
cbp=12,185.13,,0,-23.16
cbll=41.404466,2.174456
panoid=
v=1
hl=ja
gl=jp
これだけしかなかった。つまり経度・緯度とストリートビュー用のパラメータだけといってもいいくらいでした
一番大きな違いはパノラマIDがないところです。
そして新しいアドレスにないものがあります《v》《gl》です。
《v》はどうもバージョンのような気がします、どうでもいいかもです
《gl》は実は何でしょうか、説明がないのでわかりません、でもパラメータがjpとかusとかが与えられているので
国に関係あるようなもんでしょう。
しかし実はこれが重要なのです。
うまく表示されない埋め込み用のアドレスにこの《gl》を追加すれば、あら不思議ストリートビューが表示されるようになるではないですか。
しかしなぜかパラメータにjpではダメでusを与えるのがミソです。
上がパラメータを追加する前、下が追加したあとです。
もしかしたらこれはグーグルのリンク生成のバグかなんかかもしれません
1/9時点では生成されるアドレスでうまく表示されませんが、《gl=us》を追加してみてください
ただ、追加する場所は&の前に《&gl=us》を全部半角に変更して追加してください。
はじめから半角で書くとブログでは正しく表示されないので全角で書いてます。半角でも書けますが
じゃまくさい・・・
パラメータを追加する前(自動生成のまま)
大きな地図で見る
パラメータを追加したあと
大きな地図で見る
これで表示されるのは確認したけど過去の記事を全部修正するのはちと辛いな。