如何获取静态谷歌地图的边界?

3
我想在通过谷歌静态地图API检索的图片上绘制地理坐标(纬度/经度)。我希望通过Ruby离线直接在图片上进行此操作,因为我要绘制约20,000个坐标。但是,为了完成这个任务,我需要指定左上角和右下角的坐标。以下是我的地图链接:http://maps.google.com/staticmap?center=51.0,10.0&zoom=6&size=640x640&format=png&sensor=false。我该如何获取该地图左上角和右下角的坐标?先行致谢 :) PS:目前我的Lat/Lon -> X/Y代码如下:
def get_img_coords(lat, lon, w, h, lat_ul, lon_ul, lat_lr, lon_lr)
  { :x => (lon + lon_ul) * (w / (lon_lr-lon_ul)),
    :y => (lat + lat_ul) * (h / (lat_lr-lat_ul)) }
end

假设使用墨卡托投影。


1
地图链接问题:“此网站需要不同的Google Maps API密钥。” - jpwco
已经花了一些时间查看这个问题,尝试了一些公共代码但都没成功。我认为秘密在于获取给定缩放级别下的图块分辨率,从已知中心向边缘移动已知像素距离,然后计算反向EPSG:4326投影以找到角落坐标。 - captainpete
2个回答

1

我之前也遇到过这个问题。上次我检查(大约一年前),地图API通过Geohashing对其大部分信息进行编码。我建议您首先查看维基百科页面,并查看这个其他的stackoverflow问题,它似乎有您想要的Java实现。


0

这个StackOverflow问题的答案中描述的方法对我非常有效。此外,Marcelo提供的代码大多数都很容易从JavaScript翻译成其他语言,比如Python。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接