【问题标题】:Calulate Degrees/Minutes Dimensions of Google Static Map计算谷歌静态地图的度/分尺寸
【发布时间】:2012-07-04 14:04:33
【问题描述】:

如何计算出 Google 静态地图图像的宽度(以度和分钟为单位)?

例如,如果我请求一个中心为 -32 Lat 151 Long(澳大利亚悉尼)且缩放值为 14 的静态地图,我如何确定返回的卫星图像的宽度?

http://maps.googleapis.com/maps/api/staticmap?center=-32,151&zoom=14&size=400x400&sensor=true

返回的图像的真实宽度和高度是多少?

我知道中心是-32、151,缩放级别是14。也许zoom=14代表14000米的高度?如果是这样,我可以使用数学计算出现实世界的维度,但我不太确定这就是“14”的含义。

这个 SO Question 看起来很有希望,但可惜他们没有答案:Google Static Maps Dimension Discrepancy

【问题讨论】:

标签: google-maps math google-earth google-latitude


【解决方案1】:

如果您对测量距离 [英里或公里] 不感兴趣,而只对球面距离 [度] 感兴趣,那么计算并不困难。

在缩放级别为零时,赤道的整个 360° 适合 256 像素。在变焦 1 时,它是 360÷2=180°。在缩放 14 时,它是 360÷214 = 0.021973°(大约)。

widthDeg = (elementWidthInPixels/256)*(360 / Math.pow(2,zoom))

【讨论】:

  • 好消息!谢谢你,没想到会相对简单。一问:你的变量'elementWidthInPixels'是什么?会不会是从静态地图返回的 png 的宽度,所以在我的情况下是 400px?
  • 是的:它是图像的宽度。我已对此进行了更正,以包括可变缩放(糟糕!)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多