---
title: MKOverlayPathRenderer
framework: mapkit
role: symbol
role_heading: Class
path: mapkit/mkoverlaypathrenderer
---

# MKOverlayPathRenderer

The visual representation of a path-based overlay.

## Declaration

```swift
class MKOverlayPathRenderer
```

## Overview

Overview Use this renderer when a CGPath object defines your overlay’s shape. By default, this renderer fills the overlay’s shape and represents the strokes of the path using its current attributes. You can use this class as-is or subclass it to define additional drawing behaviors. If you subclass it, override the createPath() method and use that method to build the appropriate path object. To change the path, invalidate it and recreate the path using the new data your subclass obtains.

## Topics

### Creating and managing the path

- [path](mapkit/mkoverlaypathrenderer/path.md)
- [createPath()](mapkit/mkoverlaypathrenderer/createpath().md)
- [invalidatePath()](mapkit/mkoverlaypathrenderer/invalidatepath().md)

### Accessing the drawing attributes

- [fillColor](mapkit/mkoverlaypathrenderer/fillcolor.md)
- [strokeColor](mapkit/mkoverlaypathrenderer/strokecolor.md)
- [lineWidth](mapkit/mkoverlaypathrenderer/linewidth.md)
- [lineJoin](mapkit/mkoverlaypathrenderer/linejoin.md)
- [lineCap](mapkit/mkoverlaypathrenderer/linecap.md)
- [miterLimit](mapkit/mkoverlaypathrenderer/miterlimit.md)
- [lineDashPhase](mapkit/mkoverlaypathrenderer/linedashphase.md)
- [lineDashPattern](mapkit/mkoverlaypathrenderer/linedashpattern.md)

### Drawing the path

- [applyStrokeProperties(to:atZoomScale:)](mapkit/mkoverlaypathrenderer/applystrokeproperties(to:atzoomscale:).md)
- [applyFillProperties(to:atZoomScale:)](mapkit/mkoverlaypathrenderer/applyfillproperties(to:atzoomscale:).md)
- [strokePath(_:in:)](mapkit/mkoverlaypathrenderer/strokepath(_:in:).md)
- [fillPath(_:in:)](mapkit/mkoverlaypathrenderer/fillpath(_:in:).md)
- [shouldRasterize](mapkit/mkoverlaypathrenderer/shouldrasterize.md)

## Relationships

### Inherits From

- [MKOverlayRenderer](mapkit/mkoverlayrenderer.md)

### Inherited By

- [MKCircleRenderer](mapkit/mkcirclerenderer.md)
- [MKMultiPolygonRenderer](mapkit/mkmultipolygonrenderer.md)
- [MKMultiPolylineRenderer](mapkit/mkmultipolylinerenderer.md)
- [MKPolygonRenderer](mapkit/mkpolygonrenderer.md)
- [MKPolylineRenderer](mapkit/mkpolylinerenderer.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Custom shape overlays

- [MKPolygon](mapkit/mkpolygon.md)
- [MKPolygonRenderer](mapkit/mkpolygonrenderer.md)
- [MKMultiPolygon](mapkit/mkmultipolygon.md)
- [MKMultiPolygonRenderer](mapkit/mkmultipolygonrenderer.md)
