phpでgooglemapの左上と右下を取得する方法はありませんか?

※真ん中の緯度経度とズームの数字する形です。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2015/10/21 12:35:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:TransFreeBSD No.1

回答回数668ベストアンサー獲得回数268

ポイント100pt

どういう状況のgoogle mapでしょう?
サイトやブラウザの状態で変わってくると思います。
汎用的にはSeleniumとかSimpleTestのようなテストツールを使うと良いのかな?と思います。
http://www.simpletest.org/en/browser_documentation.html
http://www.bunkei-programmer.net/entry/2014/10/16/015439
http://webtech-walker.com/archive/2013/04/xvfb-js-unit-test.html
Windowsだと制約あるかもしれません。
求める環境によってはなかなか難しいかも知れません。
まあ、スパイウェアのようなものを作れば可能かもしれませんけど(笑)

何に使うかにもよりますが、自分のブラウザで試して大雑把に決め打ちするのも手かと思いますよ。

id:makocan

周辺にピンが立っている数が多い順に順位を付けたく
その集計プログラムを作るために必要なのです。
そのため、googlemapの四隅の緯度経度を取れる計算式がわかれば、特にgooglemapのAPIにこだわりはありません。

2015/10/14 23:45:24
id:TransFreeBSD

「googlemapの四隅」とは現在ブラウザに表示されているとか、あるサイトのある状態での仮想的なブラウザで表示されている地図範囲の、という意味ではなく、緯度経度のわかっているある地点の東西南北○km四方の四隅の緯度経度、という意味でしょうか。
そうなると、厳密には誤差が出ますが、南北それぞれ○kmの緯度と、東西それぞれ○kmの経度で囲まれたエリアとみなしてはどうでしょうか。
http://yamadarake.jp/trdi/report000001.html
http://keisan.casio.jp/exec/system/1257670779
http://vldb.gsi.go.jp/sokuchi/surveycalc/surveycalc/bl2stf.html
上記は計算式と確認できるサイトです。
今回は緯度経度から距離ではなく距離から緯度経度なので逆にして、google mapはWGS84を採用しているので、その係数を用いて計算して、
緯度差 dy=d/M 、経度差 dx=d/(Ncosμy)
となるかと思います。
なお、式中のMとNは経度で微妙に変わってきますが、それも誤差に見込めるなら定数としてしまえば計算かなり簡単になります。

2015/10/15 13:01:24

その他の回答1件)

id:TransFreeBSD No.1

回答回数668ベストアンサー獲得回数268ここでベストアンサー

ポイント100pt

どういう状況のgoogle mapでしょう?
サイトやブラウザの状態で変わってくると思います。
汎用的にはSeleniumとかSimpleTestのようなテストツールを使うと良いのかな?と思います。
http://www.simpletest.org/en/browser_documentation.html
http://www.bunkei-programmer.net/entry/2014/10/16/015439
http://webtech-walker.com/archive/2013/04/xvfb-js-unit-test.html
Windowsだと制約あるかもしれません。
求める環境によってはなかなか難しいかも知れません。
まあ、スパイウェアのようなものを作れば可能かもしれませんけど(笑)

何に使うかにもよりますが、自分のブラウザで試して大雑把に決め打ちするのも手かと思いますよ。

id:makocan

周辺にピンが立っている数が多い順に順位を付けたく
その集計プログラムを作るために必要なのです。
そのため、googlemapの四隅の緯度経度を取れる計算式がわかれば、特にgooglemapのAPIにこだわりはありません。

2015/10/14 23:45:24
id:TransFreeBSD

「googlemapの四隅」とは現在ブラウザに表示されているとか、あるサイトのある状態での仮想的なブラウザで表示されている地図範囲の、という意味ではなく、緯度経度のわかっているある地点の東西南北○km四方の四隅の緯度経度、という意味でしょうか。
そうなると、厳密には誤差が出ますが、南北それぞれ○kmの緯度と、東西それぞれ○kmの経度で囲まれたエリアとみなしてはどうでしょうか。
http://yamadarake.jp/trdi/report000001.html
http://keisan.casio.jp/exec/system/1257670779
http://vldb.gsi.go.jp/sokuchi/surveycalc/surveycalc/bl2stf.html
上記は計算式と確認できるサイトです。
今回は緯度経度から距離ではなく距離から緯度経度なので逆にして、google mapはWGS84を採用しているので、その係数を用いて計算して、
緯度差 dy=d/M 、経度差 dx=d/(Ncosμy)
となるかと思います。
なお、式中のMとNは経度で微妙に変わってきますが、それも誤差に見込めるなら定数としてしまえば計算かなり簡単になります。

2015/10/15 13:01:24
id:dilutionist No.2

回答回数154ベストアンサー獲得回数51

ポイント100pt

こちらの回答が参考になるかも知れません。
How to get bounds of a google static map? - Stack Overflow

通常のマップオブジェクトから4隅の座標を得るだけで良いならこちらでしょうか。
javascript - How to get 4 vertex coordinates from gmaps RECTANGLE ( Overlay)? - Stack Overflow

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません