坐标转换为瓦片像素

3
我正在为谷歌地图开发一个瓦片叠加服务器。我想在特定位置的瓦片上绘制一个点。如何将真实世界坐标转换为瓦片像素坐标呢?
我已经计算出了瓦片的边界,因此我知道给定点是否在其中。我的问题是在瓦片中应该在哪里绘制它。
对于经度,插值运算效果还可以,但对于纬度来说不行,这在墨卡托地图中很正常。
不幸的是,我的三角函数技能有些生疏。有人能给我一个提示吗?
我正在使用256x256像素的瓦片。瓦片的缩放级别、x和y也已确定。
1个回答

1
我在这里找到了答案。我需要稍微调整一下:
var offset = 256 << (z-1) - (256 << (z-1))/Math.PI * Math.log((1 + Math.sin(lat * Math.PI / 180)) / (1 - Math.sin(lat * Math.PI / 180))) / 2;
circley = offset - 256*y;

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