mapkit_flutter library

MapKit for Flutter.

iOS and macOS plugin that wraps MKMapView as a Flutter platform view. Every public type carries Apple's exact MapKit symbol name (MKMapCamera, MKPolyline, CLLocationCoordinate2D…), so the API reads like MapKit and never collides with google_maps_flutter / mapbox_maps_flutter in mixed-platform code.

Classes

CLLocationCoordinate2D
A geographic latitude/longitude pair in degrees, mirroring Core Location's CLLocationCoordinate2D(latitude:longitude:).
ExcludingAllPointsOfInterest
Hides all points of interest (MKPointOfInterestFilter.excludingAll).
ExcludingPointsOfInterest
Shows every category except the listed categories.
IncludingAllPointsOfInterest
Shows every point-of-interest category (MKPointOfInterestFilter.includingAll).
IncludingPointsOfInterest
Shows only the listed categories.
MapItemId<T>
Phantom-typed map-content identifier: T exists only to keep id kinds apart at compile time — an MKAnnotationId never passes as an MKPolylineId. Use the per-type typedefs, not MapItemId directly.
MKAnnotationIcon
What an annotation looks like, mirroring the MKMarkerAnnotationView / MKAnnotationView split: MKAnnotationIcon.marker is the system balloon marker with optional markerTintColor / glyph branding, and MKAnnotationIcon.image supplies fully custom imagery (MKAnnotationView.image). See: https://developer.apple.com/documentation/mapkit/mkmarkerannotationview
MKCameraZoomRange
Limits how close and how far the camera can get, mirroring MKMapView.CameraZoomRange — both bounds are camera distances in meters (centerCoordinateDistance), not tile zoom levels.
MKCircle
A circle of a fixed radius in meters centered on a coordinate, mirroring MKCircle(center:radius:) with its MKCircleRenderer fill/stroke properties merged in. See: https://developer.apple.com/documentation/mapkit/mkcircle
MKCoordinateRegion
A rectangular geographic region as a center plus a span, mirroring MKCoordinateRegion(center:span:). See: https://developer.apple.com/documentation/mapkit/mkcoordinateregion
MKCoordinateSpan
The width and height of a map region in degrees, mirroring MKCoordinateSpan(latitudeDelta:longitudeDelta:). See: https://developer.apple.com/documentation/mapkit/mkcoordinatespan
MKHybridMapConfiguration
Satellite imagery with roads and labels overlaid (MKHybridMapConfiguration). See: https://developer.apple.com/documentation/mapkit/mkhybridmapconfiguration
MKImageryMapConfiguration
Satellite imagery with no labels (MKImageryMapConfiguration). See: https://developer.apple.com/documentation/mapkit/mkimagerymapconfiguration
MKMapCamera
The map's point of view, mirroring MKMapCamera: the camera looks at centerCoordinate from distance meters (centerCoordinateDistance), rotated to the compass heading and tilted by pitch degrees. See: https://developer.apple.com/documentation/mapkit/mkmapcamera
MKMapConfiguration
The map's base style, mirroring MKMapConfiguration and assigned to MKMapView.preferredConfiguration: MKStandardMapConfiguration, MKHybridMapConfiguration, or MKImageryMapConfiguration.
MKMapSnapshotOptions
What a map snapshot includes, mirroring MKMapSnapshotter.Options (showsBuildings, showsPointsOfInterest) plus toggles for the plugin-drawn showsAnnotations and showsOverlays. See: https://developer.apple.com/documentation/mapkit/mkmapsnapshotter/options
MKMapView
Displays an Apple Maps MKMapView as a Flutter platform view.
MKMapViewController
Controller for a single MKMapView platform view, mirroring the imperative half of MKMapView: camera / region state plus setCamera, setRegion, setCenter, and coordinate conversion.
MKPointAnnotation
A pin or custom marker at a geographical coordinate, mirroring MKPointAnnotation (coordinate, title, subtitle) with its MKAnnotationView presentation merged in (icon, alpha, isDraggable, zPriority…) — Flutter is declarative, so there is no separate view object to configure. See: https://developer.apple.com/documentation/mapkit/mkpointannotation
MKPointOfInterestFilter
Which points of interest (shops, transit, parks…) the base map labels, mirroring MKPointOfInterestFilter: includingAll, excludingAll, MKPointOfInterestFilter.including, or MKPointOfInterestFilter.excluding. See: https://developer.apple.com/documentation/mapkit/mkpointofinterestfilter
MKPolygon
A filled, closed shape defined by an outer ring of coordinates, with optional interiorPolygons cut out of it — mirroring MKPolygon(coordinates:interiorPolygons:) with its MKPolygonRenderer fill/stroke properties merged in. See: https://developer.apple.com/documentation/mapkit/mkpolygon
MKPolyline
A connected sequence of line segments through geographical coordinates, mirroring MKPolyline with its MKPolylineRenderer stroke properties merged in (strokeColor, lineWidth, lineCap, lineJoin, lineDashPattern).
MKStandardMapConfiguration
Roads-and-labels base map (MKStandardMapConfiguration). See: https://developer.apple.com/documentation/mapkit/mkstandardmapconfiguration
MKTileOverlay
Raster tile overlay drawn over the base map, mirroring MKTileOverlay(urlTemplate:) with its renderer alpha merged in.

Extensions

CameraConveniences on MKMapViewController
google_maps_flutter-dialect camera helpers layered over the canonical MapKit surface. Every method composes MKMapViewController.camera with setCamera / setRegion / setCenter — no extra platform calls exist behind them.

Typedefs

CGLineCap = PlatformLineCap
CGLineCap — stroke end-cap style.
CGLineJoin = PlatformLineJoin
CGLineJoin — stroke join style.
Coordinate = CLLocationCoordinate2D
Shorthand alias for CLLocationCoordinate2D. Consumers who find the full Apple symbol too long can use Coordinate; mixed-SDK files can hide it.
MKAnnotationId = MapItemId<MKPointAnnotation>
Type definition for MKAnnotationId.
MKCircleId = MapItemId<MKCircle>
Type definition for MKCircleId.
MKMapElevationStyle = PlatformMapElevationStyle
MKMapConfiguration.ElevationStyle — flat versus realistic 3-D terrain.
MKMapEmphasisStyle = PlatformMapEmphasisStyle
MKStandardMapConfiguration.EmphasisStyle. standard maps to Apple's .default (default is a Dart reserved word).
MKMapFeatureOptions = PlatformMapFeatureOptions
MKMapFeatureOptions — map features the user can select.
MKOverlayLevel = PlatformOverlayLevel
MKOverlayLevel — overlay placement relative to roads and labels.
MKPointOfInterestCategory = PlatformPointOfInterestCategory
MKPointOfInterestCategory — categories for MKPointOfInterestFilter.
MKPolygonId = MapItemId<MKPolygon>
Type definition for MKPolygonId.
MKPolylineId = MapItemId<MKPolyline>
Type definition for MKPolylineId.
MKTileOverlayId = MapItemId<MKTileOverlay>
Type definition for MKTileOverlayId.
MKUserTrackingMode = PlatformUserTrackingMode
MKUserTrackingMode — how the camera follows the user's location.

Exceptions / Errors

MapKitDisposedException
Thrown when a method is called on a controller whose map view has already been disposed.
MapKitException
Base type for every error surfaced by mapkit_flutter.
MapKitPlatformException
A failure reported by the native MapKit layer. Carries the original platform code and details for diagnostics.
MapKitUnsupportedPlatformException
Thrown when an MKMapView is built on a non-Apple platform (anything other than iOS or macOS). mapkit_flutter wraps Apple's MapKit, so there is no cross-platform fallback — this surfaces loudly instead of silently rendering an empty box.