gpt4 book ai didi

iphone - MKOverlayView 中的裁剪 :drawMapRect

转载 作者:行者123 更新时间:2023-11-29 13:51:15 24 4
gpt4 key购买 nike

在我的 MKOverlayView 中,我在绘制传递给 drawMapRect:mapRect:zoomScale:inContextMKMapRect 之外的区域时遇到问题派生类。我试图为集合中的每个坐标绘制一个三角形,当坐标靠近 MKMapRect 的边缘时会出现问题。有关问题的示例,请参见下图。

alt text

在图像中,浅红色框表示每次调用 drawMapRect 时呈现的 MKMapRect。问题在红色圆圈中说明,如您所见,只有三角形的一部分被渲染。我假设它被剪裁到 MKMapRect,尽管 MKOverlayView:drawMapRect 的文档让我认为这不应该发生。

来自文档:

You should also not make assumptions that the view’s frame matches the bounding rectangle of the overlay. The view’s frame is actually bigger than the bounding rectangle to allow you to draw lines for things like roads that might be located directly on the border of that rectangle.

我目前的解决方案是多次绘制对象,如果它们位于比给定 drawMapRect 的 maprect 稍大的 maprect 中,但这会导致我绘制一些超出需要的东西。

有谁知道在 drawMapRect 中增加裁剪区域大小的方法,所以这不是问题?也欢迎任何其他建议。

最佳答案

我最终向传入 drawMapRect:mapRect:zoomScale:inContext 的矩形添加了一个缓冲区,并使用它来确定要绘制的对象。这会导致绘制的对象比需要的多,但不会太多。

关于iphone - MKOverlayView 中的裁剪 :drawMapRect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3866070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com