iOS Mapkit-如何偏移用户';地址不能指定数量
我正在开发一个应用程序,使用用户的位置与其他用户一起显示在地图上 我想确保所有用户在向其他用户公开其位置时都有一点隐私,因此我希望只将其位置设置为指定的偏移量(比如1英里),并向所有其他用户显示“编辑的”位置,同时向当前用户显示“准确的”位置 示例-如果我在看地图,我希望我的“用户位置”(蓝点)稍微精确一些,而所有其他玩家都会看到我的位置稍微偏离真实位置iOS Mapkit-如何偏移用户';地址不能指定数量,ios,location,mapkit,offset,Ios,Location,Mapkit,Offset,我正在开发一个应用程序,使用用户的位置与其他用户一起显示在地图上 我想确保所有用户在向其他用户公开其位置时都有一点隐私,因此我希望只将其位置设置为指定的偏移量(比如1英里),并向所有其他用户显示“编辑的”位置,同时向当前用户显示“准确的”位置 示例-如果我在看地图,我希望我的“用户位置”(蓝点)稍微精确一些,而所有其他玩家都会看到我的位置稍微偏离真实位置 实现这一点的最佳方法是什么?您是否将其他人作为pin显示?如果您在某个确切位置显示pin,但另一个用户不在,这可能会很奇怪。例如,如果某人在北
实现这一点的最佳方法是什么?您是否将其他人作为pin显示?如果您在某个确切位置显示pin,但另一个用户不在,这可能会很奇怪。例如,如果某人在北面一英里处,您在当前用户所在的位置显示了他们的pin。也许你应该用一个MKOVerlay圆圈显示其他用户,然后使用一些基于用户ID的计算将其稍微偏离中心,这样人们就不会发现它总是向东移动500米,从而很容易看到人们在这里 无论您是否更改显示,您寻找的代码都在这里:我想您真正想要回答的问题是: 如何以保护用户隐私的方式将用户的位置转换为“近似位置”? 这不是一个容易的问题:
- 按特定距离进行偏移不起作用:
- 如果方向是固定的,就有一个小的攻击
- 如果方向变化不够频繁,那么攻击者只需等待确定道路的外观即可
- 如果方向变化太频繁,那么他们将倾向于围绕目标的房屋/工作形成一个1英里的圆圈
- 按随机距离/方向进行偏移不起作用;攻击者只需要收集足够的样本;集群可能以目标家庭/工作为中心
- 简单地量化网格(例如,“X在这个网格正方形内”)将告诉您目标何时跨越网格边界。如果目标位于栅格边界上,这种情况尤其糟糕
- 选择一个(大约)1英里的网格。对于“正方形”网格,您可以使用(有四个无限变形点,但您可以在海上制作这些点-看起来您可以将陆地上的变形限制为2倍)。还有投影到三角形网格上,对于三角形网格,还有投影到三角形网格上
- 当您第一次需要报告用户的位置时,请给出网格上最近的点。还要拾取介于1和2个栅格“正方形”之间的阈值距离,大约如此。
- 当用户位于网格正方形中心的阈值距离内时,继续报告相同的网格正方形。否则,重复