Ios 沿地图上的路径绘制文本(如f.e.街道名称)

Ios 沿地图上的路径绘制文本(如f.e.街道名称),ios,maps,drawing,cartography,Ios,Maps,Drawing,Cartography,我目前正在尝试标记我在地图中绘制的线(在我的iOS应用程序中,但我猜它适用于所有地图) 所以我现在正在做的是,我简化我的路径,这样我就可以去掉大部分的小曲线,然后沿着这条线画我的字形。目前看起来是这样的: 在生产线的某些部分已经可以了。如果线很直,角不太尖 但在某些地方你什么都看不懂。。。那么,有什么策略可以让它看起来更好呢? 有人知道如何使我的路径看起来像红线的算法或策略吗: 我很高兴有任何关于如何改进我的绘图的想法:)我在我的商业地图渲染系统中,通过找到没有尖角的线条的一部分来实现。如果

我目前正在尝试标记我在地图中绘制的线(在我的iOS应用程序中,但我猜它适用于所有地图)

所以我现在正在做的是,我简化我的路径,这样我就可以去掉大部分的小曲线,然后沿着这条线画我的字形。目前看起来是这样的:

在生产线的某些部分已经可以了。如果线很直,角不太尖

但在某些地方你什么都看不懂。。。那么,有什么策略可以让它看起来更好呢? 有人知道如何使我的路径看起来像红线的算法或策略吗:


我很高兴有任何关于如何改进我的绘图的想法:)

我在我的商业地图渲染系统中,通过找到没有尖角的线条的一部分来实现。如果标签的转角为直角或更大角度,则无法使标签看起来好看。如果没有足够长的路段,我会缩短标签(例如,连接道路变为连接道路),或将其拆分为两行。如果仍然没有地方画标签,我就不画了

另一件重要的事情是调整间距,以便上升和下降不会发生冲突,因此在绘制文本时需要查看每对相邻字母的边界框,并根据需要添加少量空间


我不想费心抚平我的线条,就像你用红线建议的那样。至少对于街道标签来说,这似乎并不重要。

您需要的是使用实际直线上的点作为控制点来创建更平滑的曲线。查看该部分,了解如何在核心图形路径图中实现这一点。我用数字更新了上面的图形。。。所以我想我还必须过滤掉两个向量之间的夹角太小的部分?!?要摆脱第5点、第7点和第9点??然后我就可以把剩下的弄平,对吗?我在这里找到了一个很好的方法: