我正在尝试使用简单的 Web 服务 API 从 Google 地图中检索一组静态地图图块。
对于只有一个图块的缩放级别 0,我只需将中心指定为 (0,0),这很简单。(是的,我知道,南北范围仅为 [-85.05113°,85.05113°] ,即我已阅读有关墨卡托投影的信息(不仅是维基百科的文章)。
因此,对于具有 2×2 瓦片的缩放级别 1,我知道认为瓦片的中心坐标为(±90,±45)是天真的。我应用了上面文章“墨卡托投影的推导”部分中列出的功能之一。在 PHP 中,这看起来像
function mercor($aLat) {
return rad2deg(asinh(tan(deg2rad($aLat))));
}
当传入 45 时,它总是返回 50.498987。我尝试了几个替代表达式 :-) 确实,结果都相同,甚至使用专用计算器检查了该值。
无论如何,这个值显然是不正确的,正如你在这里看到的(它应该显示地球地图的西北象限,但这里赤道向北移动)(图片来源):
通过反复试验,我发现正确的值接近 66.65,但我不知道如何计算。我尝试了对R
提到的“墨卡托投影的推导”部分中的表达式中显示的因子的几种操作,并且还摆弄了同一文档中描述的“比例因子”,但无论我做什么,我都没有接近 66.65 .
在这里您可以看到 66.65 是(接近)正确值,赤道位于底部边缘(图像源):
并采取一个例子,例如(图像源):
而像kruler这样的工具,也很明显应该是66.65。
因此,任何想法将不胜感激。提前致谢...
(目前我正在尝试使用 HTML 文档,因为它相对简单,但后来我想在无法调用 JavaScript 的环境中进行。所以 JavaScript API 不是一个选项。)