在我的申请中,我必须作出安排,以便正确处理道路/街道的重叠标签。
所以我决定确定每个标签的边界框,然后检查它们是否有碰撞。但我面临一个问题。
我所拥有的是沿着道路对齐的标签的纬度坐标。所以我有一个拉长的边界框中心。我还有标签的高度和宽度(以米为单位)以及屏幕点。但我无法确定矩形边应该具有哪些单位以进行正确的碰撞检测。
应使用度数测量或仪表测量或屏幕点来制作矩形吗?
答案 0 :(得分:0)
如果您正在使用墨卡托投影贴图,那么我建议将所有单位转换为X / Y.
以下是:
RAD2DEG = 180 / Math.PI;
PI_4 = Math.PI / 4;
function y2lat(y) { return (Math.atan(Math.exp(y / RAD2DEG)) / PI_4 - 1) * 90; }
function x2lon(x) { return x; }
function lat2y(lat) { return Math.log(Math.tan((lat / 90 + 1) * PI_4 )) * RAD2DEG; }
function lon2y(lon) { return lon; }