我正在为谷歌地图开发一个瓷砖覆盖服务器。我想在特定位置的瓷砖上画一个点。如何将真实世界坐标转换为平铺像素坐标?
我计算了一个tile的边界,所以我知道一个给定的点是否在其中。我的问题是我应该在瓷砖中绘制它。
插值适用于经度但不适用于纬度,这对于mercatoric地图来说是正常的。
不幸的是,我的三角技术有点生疏。有人能给我一个暗示吗?
我正在使用256x256像素图块。还为图块指定了缩放级别x和y。
答案 0 :(得分:2)
我找到了答案here。我不得不稍微调整一下:
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;