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:
Texists only to keep id kinds apart at compile time — anMKAnnotationIdnever passes as anMKPolylineId. Use the per-type typedefs, notMapItemIddirectly. - MKAnnotationIcon
-
What an annotation looks like, mirroring the
MKMarkerAnnotationView/MKAnnotationViewsplit: MKAnnotationIcon.marker is the system balloon marker with optionalmarkerTintColor/ 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 itsMKCircleRendererfill/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
MKMapConfigurationand assigned toMKMapView.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
MKMapViewas a Flutter platform view. - MKMapViewController
-
Controller for a single
MKMapViewplatform view, mirroring the imperative half ofMKMapView: 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 itsMKAnnotationViewpresentation 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 itsMKPolygonRendererfill/stroke properties merged in. See: https://developer.apple.com/documentation/mapkit/mkpolygon - MKPolyline
-
A connected sequence of line segments through geographical coordinates,
mirroring
MKPolylinewith itsMKPolylineRendererstroke 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 canhideit. -
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.standardmaps to Apple's.default(defaultis 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 forMKPointOfInterestFilter. -
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
MKMapViewis built on a non-Apple platform (anything other than iOS or macOS).mapkit_flutterwraps Apple's MapKit, so there is no cross-platform fallback — this surfaces loudly instead of silently rendering an empty box.