GoogleMap iframeでシステム可変にしたい?

らら
らら

埋め込みタグを取得

googlemap001

googlemap002

取り出したタグ


<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3261.307567312763!2d136.89515371534864!3d35.173885980315674!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x600376d6b02a9ebd%3A0xe6fc733dc8c622fc!2z5qCq5byP5Lya56S-6Zu76ISz6IG35Lq65p2RW-WQjeWPpOWxi-ODk-ODrOODg-OCuF0!5e0!3m2!1sja!2sjp!4v1649893548309!5m2!1sja!2sjp" width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>

引数のpbが!マークで区切り文字

改行で見やすくしてみる


pb=
!1m18
!1m12
!1m3
!1d3261.307567312763
!2d136.89515371534864
!3d35.173885980315674
!2m3
!1f0
!2f0
!3f0
!3m2
!1i1024
!2i768
!4f13.1
!3m3
!1m2
!1s0x600376d6b02a9ebd%3A0xe6fc733dc8c622fc
!2z5qCq5byP5Lya56S-6Zu76ISz6IG35Lq65p2RW-WQjeWPpOWxi-ODk-ODrOODg-OCuF0
!5e0
!3m2
!1sja
!2sjp
!4v1649893548309
!5m2
!1sja
!2sjp

!1m18はマーカーが1つのタイプぽい

!1m14はマーカーの付かないタイプ

!先頭からの連番mとか

!?m?は引数が はじめの?は先頭からの連番2つ目の?そのあとにつづく、コマンドの数?

!3m1!1m2

mが続く場合は上位のmから連番になる感じ?

!1m3の

!1dは1つ目の数値タイプ

!2dは2つ目の数値タイプ 経度 lng 地図の中心座標 m14の場合表示位置とおなじ

!3dは2つ目の数値タイプ 緯度 lat 地図の中心座標 m14の場合表示位置とおなじ

!1m2の

!2zは表示用の座標 base64でエンコードされています。

座標をlngとlatを半角スペースでlng lat区切ってbase64します。こちらの順番は!2d !3dの順序が逆

逆のがあるので整理・・・


緯度	lat	latitude	90度  北緯 35とかから始まる
経度	lng	longitude	180度 東経 136とかから始まる

あとは画面サイズとか、ja,jpとか、日本時間とかなんとなく推測できる感じ?


!?m コマンドの区切りとコマンド数?
!?f 数値 float連番
!?d 数値 double
!?i 数値整数 int
!?s 文字列
!?z エンコードされた文字列 暗号化はまちまちbase64など
!?v タイムスタンプuinxシリアル日付

!5e0とか不明です。最後つけるマーカ?


<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3261.307567312763!2d[地図の中心のlng]!3d[地図の中心のlat]!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x600376d6b02a9ebd%3A0xe6fc733dc8c622fc!2z[表示する座標のlat lagのbase64]!5e0!3m2!1sja!2sjp!4v1649893548309!5m2!1sja!2sjp" width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>

上記のテンプレートができるので

[地図の中心のlng]

[地図の中心のlat]

[表示する座標のlat lagのbase64]

上記の部分をシステムで当てる

[表示する座標のlat lagのbase64] = base64_encode("lat lag");

下記の部分ですが、マークした部分が企業などに付きます。

!1s0x600376d6b02a9ebd%3A0xe6fc733dc8c622fc

!1s[LRD]%3A[CID]

これはMapビジネスの会社LRD、CIDになります

これは単純に16進になっているので10進数に変換して

下記とかでアクセスできます。

https://maps.google.com/?cid=[CID]

上記を省略は下記でいける


<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3261.307567312763!2d[地図の中心のlng]!3d[地図の中心のlat]!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1!2z[表示する座標のlat lagのbase64]!3m2!1sja!2sjp!4v1649893548309!5m2!1sja!2sjp" width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>

さいごに

上記をテンプレートにして、システムから[地図の中心のlng][地図の中心のlat][表示する座標のlat lagのbase64]をセットしてあげると..

事前に座標が必要

マーカーをカスタマイズできない

公開情報じゃないので・・つかえなくなるかも。。

では・・

関連記事