Tem*_*lar 5 mkmapview ios mkmaprect mkoverlaypathrenderer
我在地图上有很多长折线.我想优化他们的绘图,因为在几千点处,折线被绘制得非常慢.
我drawMapRect看起来像这样:
- for each polyline segment 
- verify if it's bounding box intersects the currently drawn MKMapRect
- if id does, draw it
如果没有太多分数,哪个很好.但是当有8-16个可见的地图和2-3000个点时,它们的速度非常慢for.
如果它们只是位置,那么解决方案就是实现某种四叉树/ r树结构,只过滤当前绘制的那些位置MKMapRect,但我不确定这是否适合折线本身.
如果我仅过滤当前maprect内的段端点,则可能不会绘制某些线段.例如,1-2点之间的两个红色maprects中没有段端点,但仍然需要绘制...
是否有某种算法类似于四叉树或某种方法来解决这个问题?
不幸的是,我不知道\xe2\x80\x99 不知道这样的数据结构可以允许检查线与矩形的相交。
\n但是,解决该问题的一种方法可能如下:
\n在分辨率非常低的地图(2 维数组)中绘制所有折线,并记下绘制它的折线的每个像素。然后在此低分辨率地图中扫描绘制像素的相关矩形,并存储所有相关的折线。然后可以在全分辨率地图中绘制这些。
\n也许这个近似算法比您现在使用的精确算法更快。  
编辑:
\n\n我假设您使用折线 MKMapRect 交集检查有效的算法,例如如何找到直线和矩形之间的交点?。
\n| 归档时间: | 
 | 
| 查看次数: | 334 次 | 
| 最近记录: |