@class NSTimer, FMMapGestureRecognizer, CADisplayLink, MKUserLocation, MKMapCamera, MKMapView, UIColor, NSString, MKUserLocationView, NSMutableArray, _MKUserTrackingButton, FMAnnotationView; @protocol FMAnnotation, FMMapViewDelegate, MKAnnotation; @interface FMMapView : UIView <FMMapGestureRecognizerDelegate, FMMapAnnotationGestureRecognizerDelegate, MKUserTrackingView, MKMapViewDelegate> @property (retain, nonatomic) FMMapGestureRecognizer *mapGesture; @property (nonatomic) struct { struct { double x; double y; } origin; struct { double width; double height; } size; } lastVisibleMapRect; @property (weak, nonatomic) id<FMAnnotation, MKAnnotation> lastSelectedAnnotationBeforeTracking; @property (retain, nonatomic) MKMapCamera *cameraBefore3DRendering; @property (retain, nonatomic) NSTimer *layoutTimer; @property (nonatomic) double maxZoomLevel; @property (nonatomic) struct UIEdgeInsets { double top; double left; double bottom; double right; } lastVisibleInsets; @property (nonatomic) BOOL isUserLocationUpdated; @property (nonatomic) BOOL canChangeUserTrackingMode; @property (nonatomic) BOOL isGoingBackToAllAnnotation; @property (retain, nonatomic) CADisplayLink *displayLink; @property (nonatomic) BOOL isSwitchingTrackingMode; @property (nonatomic) BOOL shouldDisplayOverlay; @property (nonatomic) BOOL canSelectUserAnnotation; @property (retain, nonatomic) NSTimer *userSelectionTimer; @property (retain, nonatomic) FMAnnotationView *potentiallySelectedAnnotationView; @property (retain, nonatomic) FMAnnotationView *selectedAnnotationView; @property (weak, nonatomic) MKUserLocationView *userLocationView; @property (retain, nonatomic) MKUserLocation *userLocation; @property (weak, nonatomic) id<FMAnnotation, MKAnnotation> currentDeviceAnnotation; @property (weak, nonatomic) id<MKAnnotation> otherSelectedAnnotation; @property (nonatomic) long long currentSelectedState; @property (retain, nonatomic) NSMutableArray *accuracyOverlays; @property (nonatomic) BOOL isFingerOnMap; @property (nonatomic) BOOL isFingerOnAnnotation; @property (nonatomic) BOOL isMapMoved; @property (weak, nonatomic) id<FMMapViewDelegate> delegate; @property (readonly, nonatomic) MKMapView *mapView; @property (retain, nonatomic) _MKUserTrackingButton *userTrackingButton; @property (retain, nonatomic) UIColor *userLocationTintColor; @property (nonatomic) long long currentTrackingMode; @property (nonatomic) long long doubleSelectionMode; @property (nonatomic) long long renderingMode; @property (nonatomic) BOOL isAllAnnotationsShown; @property (nonatomic) BOOL isMapPositioningDisabled; @property (nonatomic) BOOL isSwipeGestureEnabled; @property (nonatomic) BOOL isMapAnimating; @property (nonatomic) BOOL isUserSwiping; @property (nonatomic) BOOL isNearbyModeDisabled; @property (nonatomic) BOOL showUserLocationCallout; @property (nonatomic) BOOL isPreventingMapUpdates; @property (weak, nonatomic) id<FMAnnotation, MKAnnotation> selectedAnnotation; @property (nonatomic) BOOL isPreviewing; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (BOOL)hasUserLocation; - (id)init; - (void)dealloc; - (void)addAnnotations:(id)a0; - (void)traitCollectionDidChange:(id)a0; - (void)addAnnotation:(id)a0; - (void)initialize; - (void)removeAnnotation:(id)a0; - (void)didMoveToSuperview; - (void)addOverlay:(id)a0; - (void)setupConstraints; - (void).cxx_destruct; - (struct CLLocationCoordinate2D { double x0; double x1; })coordinateForAnnotationView:(id)a0; - (void)synchronize; - (void)layoutSubviews; - (void)removeOverlay:(id)a0; - (id)initWithCoder:(id)a0; - (void)removeAnnotations:(id)a0; - (BOOL)hasUserLocation; - (long long)userTrackingMode; - (void)removeOverlays:(id)a0; - (void)_setUserTrackingMode:(long long)a0 animated:(BOOL)a1 fromTrackingButton:(BOOL)a2; - (void)addOverlays:(id)a0; - (BOOL)canRotateForHeading; - (BOOL)isCurrentlyRotated; - (void)mapView:(id)a0 didAddAnnotationViews:(id)a1; - (void)mapView:(id)a0 didChangeUserTrackingMode:(long long)a1 animated:(BOOL)a2; - (void)mapView:(id)a0 didDeselectAnnotationView:(id)a1; - (void)mapView:(id)a0 didFailToLocateUserWithError:(id)a1; - (void)mapView:(id)a0 didSelectAnnotationView:(id)a1; - (void)mapView:(id)a0 didUpdateUserLocation:(id)a1; - (void)mapView:(id)a0 regionDidChangeAnimated:(BOOL)a1; - (id)mapView:(id)a0 rendererForOverlay:(id)a1; - (id)mapView:(id)a0 viewForAnnotation:(id)a1; - (void)mapViewDidStopLocatingUser:(id)a0; - (id)viewForAnnotation:(id)a0; - (void)setupGestures; - (void)deselectAllAnnotations; - (void)mapSwipedBegin:(id)a0; - (void)selectOrDeselectAnnotationView:(id)a0; - (void)createMKMapView; - (float)dampingForAltitude:(double)a0 andDistance:(double)a1; - (void)deselectAnnotationViewIfNeeded:(id)a0; - (BOOL)isOverlayOnMap:(id)a0; - (void)animateMapToPosition:(struct { struct { double x0; double x1; } x0; struct { double x0; double x1; } x1; })a0 withInsets:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a1 attributionInsets:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a2 andZoom:(BOOL)a3; - (void)animateRenderingModeChange; - (void)animateToAllAnnotation; - (id)annotationsSortedByDistance; - (void)calloutButtonTapped:(id)a0; - (void)clearUserLocation; - (void)createUserTrackingButton; - (void)depthSortAnnotations; - (void)deselectAnnotationView:(id)a0; - (void)didDoubleSelectAnnotation:(id)a0; - (void)didSelectAnnotation:(id)a0; - (void)displayAllAnnotations; - (double)distanceBetweenOrigin:(struct CLLocationCoordinate2D { double x0; double x1; })a0 andDestination:(struct CLLocationCoordinate2D { double x0; double x1; })a1; - (void)doubleSelectAnnotation:(id)a0; - (void)fingerOffAnnotation:(id)a0; - (void)fingerOnAnnotation:(id)a0; - (void)flashMapInset:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a0; - (void)invalidateLayoutTimer; - (BOOL)isValidLocation:(struct CLLocationCoordinate2D { double x0; double x1; })a0; - (void)layoutMapView; - (void)mapDoubleTapped:(id)a0; - (struct { struct { double x0; double x1; } x0; struct { double x0; double x1; } x1; })mapRectForAnnotations:(id)a0 shouldIncludeRadius:(BOOL)a1; - (struct { struct { double x0; double x1; } x0; struct { double x0; double x1; } x1; })mapRectMakeWithRadialDistanceForCoordinate:(struct CLLocationCoordinate2D { double x0; double x1; })a0 andRadius:(double)a1; - (void)mapSwiped:(id)a0 withPercent:(double)a1; - (void)mapSwipedEnd:(id)a0 withPercent:(double)a1; - (void)mapTapped:(id)a0; - (void)mapTouchBegan:(id)a0; - (void)mapTouchEnded:(id)a0; - (void)mapTouchMoved:(id)a0; - (void)moveCenterByOffset:(struct CGPoint { double x0; double x1; })a0 from:(struct CLLocationCoordinate2D { double x0; double x1; })a1; - (id)nearbyAnnotations; - (struct { struct { double x0; double x1; } x0; struct { double x0; double x1; } x1; })normalizeMapRect:(struct { struct { double x0; double x1; } x0; struct { double x0; double x1; } x1; })a0 toZoomScale:(double)a1; - (void)recenterVisibleAnnotations; - (void)refreshCameraPosition; - (void)refreshOverlayForAnnotation:(id)a0 andCoordinate:(struct CLLocationCoordinate2D { double x0; double x1; })a1; - (void)removeAllOverlaysAndCurrentAnnotationOverlay:(id)a0; - (void)removeUserAnnotationIfNeeded:(id)a0; - (struct { struct { double x0; double x1; } x0; struct { double x0; double x1; } x1; })repositionOnAnnotation:(id)a0 withZoom:(BOOL)a1; - (void)repositionOnMapRectIfNeeded:(struct { struct { double x0; double x1; } x0; struct { double x0; double x1; } x1; })a0; - (void)repositionToMapRect:(struct { struct { double x0; double x1; } x0; struct { double x0; double x1; } x1; })a0 withZoom:(BOOL)a1; - (void)selectAnnotation:(id)a0; - (void)selectAnnotationForPreview:(id)a0; - (void)setupCamera; - (void)slideAnnotationIntoViewIfNeeded:(id)a0; - (void)updateAccordingToUserTrackingMode; - (void)updateAnnotationPositionAfterPreview:(id)a0; - (void)updateAnnotationStyle:(id)a0; - (void)updateCameraPositionForAnnotation:(id)a0; - (void)updateCameraPositionForMapRect:(struct { struct { double x0; double x1; } x0; struct { double x0; double x1; } x1; })a0 withZoom:(BOOL)a1; - (void)updateCameraPositionForNoLocation; - (void)updateCameraPositionWithLocation:(struct CLLocationCoordinate2D { double x0; double x1; })a0 andAltitude:(double)a1; - (void)updateCanSelectUserAnnotation; - (void)updateOverlayForAnnotation:(id)a0 withForce:(BOOL)a1; - (void)updatePreviewLocationForAnnotation:(id)a0; - (void)updateUserTrackingButtonState; - (void)userLocationTapped:(id)a0; @end