代码之家  ›  专栏  ›  技术社区  ›  matheeeny

卡入MKOverlayView:drawMapRect

  •  1
  • matheeeny  · 技术社区  · 15 年前

    MKMapRect 传递给 drawMapRect:mapRect:zoomScale:inContext 在我的 MKOverlayView . 有关问题的示例,请参见下图。

    alt text

    在图像中,浅红色框表示 MKMapRect公司 drawMapRect MKMapRect公司 ,尽管 MKOverlayView:drawMapRect 让我觉得这不应该发生。

    根据文件:

    也不应假设视图边框与覆盖的边界矩形匹配。视图框架实际上比边界矩形大,以便您可以为可能位于矩形边界上的道路之类的东西绘制线。

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

    有没有人知道在drawMapRect中增加剪切区域大小的方法,这样就不会有问题了?任何其他建议也欢迎。

    1 回复  |  直到 12 年前
        1
  •  1
  •   matheeeny    15 年前

    最后我给dr的rect加了一个缓冲区awMapRect:mapRect:缩放比例:inContext和使用它来确定要绘制的对象。这会导致绘制的对象比需要的多,但不会太多。