MK 圆 - 笔画宽度相当于米

Posted

技术标签:

【中文标题】MK 圆 - 笔画宽度相当于米【英文标题】:MKCircle - Stroke Width equivilant to meters 【发布时间】:2011-05-30 20:44:50 【问题描述】:

我有一个 MKCircle。我希望能够将笔画宽度设置为米而不是点。这样我就可以绘制一个以米为单位的半径和以米为单位的笔划宽度的叠加层。

我了解地图缩放时点与米的关系会发生变化。我现在的注释计数 (1) 非常低,因此如果我能找到一种方法来计算给定地图状态下一米距离的所需笔划宽度(以点为单位),那么在缩放时删除和读取它应该没问题。

【问题讨论】:

【参考方案1】:

首先要考虑的是您是否真的要这样做:如果用户缩小,线条可能会变得非常细。

我能看到的唯一方法是使用MKCoordinateRegionMakeWithDistance 创建一个适当大小的 MKCoordinateRegion,然后使用 MKMapView 的convertRegion:toRectToView: 将其转换为 CGRect,您可以从中读出宽度/高度来计算合适的线宽。

【讨论】:

我有一个 1.0 的地板,所以它在缩小时不会不可见。

以上是关于MK 圆 - 笔画宽度相当于米的主要内容,如果未能解决你的问题,请参考以下文章

如何绘制具有可变笔画宽度的路径

笔画宽度变换(SWT)实现(Java、C#...)[关闭]

固定 SVG 中的笔画宽度

为 Shape 的笔画宽度设置动画

自定义视图Android上错误的笔画宽度绘制圆圈

使用 Qt 绘制像素完美的圆