<!--
{
  "availability" : [
    "iOS: 7.0.0 -",
    "iPadOS: 7.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.9.0 -",
    "tvOS: 9.2.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "MapKit",
  "identifier" : "/documentation/MapKit/MKOverlayRenderer/canDraw(_:zoomScale:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "MapKit"
    ],
    "preciseIdentifier" : "c:objc(cs)MKOverlayRenderer(im)canDrawMapRect:zoomScale:"
  },
  "title" : "canDraw(_:zoomScale:)"
}
-->

# canDraw(_:zoomScale:)

Returns a Boolean value that indicates whether the overlay view is ready to draw its content.

```
func canDraw(_ mapRect: MKMapRect, zoomScale: MKZoomScale) -> Bool
```

## Parameters

`mapRect`

The map rectangle that the renderer needs to update.

`zoomScale`

The current scale factor applied to the map.

## Return Value

<doc://com.apple.documentation/documentation/Swift/true> if this overlay renderer is ready to draw its contents on the map or <doc://com.apple.documentation/documentation/Swift/false> if it is not.

## Discussion

Overlay renderers can override this method in situations where they may depend on the availability of other information to draw their contents. For example, a renderer showing traffic information might want to delay drawing until it has all of the traffic data it needs. In such a case, it can return <doc://com.apple.documentation/documentation/Swift/false> from this method to indicate that it’s not ready. An overlay renderer might also return <doc://com.apple.documentation/documentation/Swift/false> if it doesn’t draw content in the specified rectangle.

If you return <doc://com.apple.documentation/documentation/Swift/false> from this method, your application is responsible for calling the [`setNeedsDisplay(_:zoomScale:)`](/documentation/MapKit/MKOverlayRenderer/setNeedsDisplay(_:zoomScale:)) method when the overlay renderer subsequently becomes ready to draw its contents.

The default implementation of this method returns <doc://com.apple.documentation/documentation/Swift/true>.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)