方法としては、
http://da-studio.blogspot.com/2008/04/google-static-maps-api.html
を見ればわかります。
理論に関しては、まったくわからないですが
ズームサイズと画像サイズから、地図に表示されている
(地図の一番上の座標)-(地図の一番下の座標)
の値がわかるようです。
これがわかれば、中心座標に求めれた数値の半分を足したり引いたりすれば、端っこの座標を求めることができるのです。
リンク先にphpのサンプルコードがあるので、こちらではpythonのコードを書いてみます。
#画像縦サイズ:ysize
#画像縦サイズ:xsize
#画像中心緯度:clat
#画像中心軽度:clon
#縦横の表示域を算出
lx=float(xsize)/pow(2,float(zoom))
ly=float(ysize)/pow(2,float(zoom))
#小数点以下をいい感じに丸める処理
lattop = round((float(clat)+ly/2)*1000000)/1000000
latbtm = round((float(clat)-ly/2)*1000000)/1000000
lontop = round((float(clon)+ly/2)*1000000)/1000000
lonbtm = round((float(clon)-ly/2)*1000000)/1000000
表示域を算出するときに、念のため値をfloatで囲んでおくのが良さげです。
何も考えずに使っていたら、それぞれintとして取り扱うコードになっていて、
算出結果が0とかになったりしたもので。
0 件のコメント:
コメントを投稿