Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Remove MGLAnnotationView.flat #5546

Merged
merged 1 commit into from
Jul 3, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion platform/ios/Mapbox.playground/Contents.swift
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,6 @@ class MapDelegate: NSObject, MGLMapViewDelegate {
let av = PlaygroundAnnotationView(reuseIdentifier: "annotation")
av.frame = CGRect(x: 0, y: 0, width: 30, height: 30)
av.centerOffset = CGVector(dx: -15, dy: -15)
av.flat = true
let centerView = UIView(frame: CGRectInset(av.bounds, 3, 3))
centerView.backgroundColor = UIColor.whiteColor()
av.addSubview(centerView)
Expand Down
4 changes: 0 additions & 4 deletions platform/ios/app/MBXViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -589,10 +589,6 @@ - (MGLAnnotationView *)mapView:(MGLMapView *)mapView viewForAnnotation:(id<MGLAn
annotationView.frame = CGRectMake(0, 0, 10, 10);
annotationView.centerColor = [UIColor whiteColor];

// uncomment to flatten the annotation view against the map when the map is tilted
// this currently causes severe performance issues when more than 2k annotations are visible
// annotationView.flat = YES;

// uncomment to make the annotation view draggable
// also note that having two long press gesture recognizers on overlapping views (`self.view` & `annotationView`) will cause weird behaviour
// comment out the pin dropping functionality in the handleLongPress: method in this class to make draggable annotation views play nice
Expand Down
15 changes: 0 additions & 15 deletions platform/ios/src/MGLAnnotationView.h
Original file line number Diff line number Diff line change
Expand Up @@ -126,21 +126,6 @@ typedef NS_ENUM(NSUInteger, MGLAnnotationViewDragState) {
*/
@property (nonatomic) CGVector centerOffset;

/**
A Boolean value indicating whether the view lies flat against the map as it
tilts.

If this option is unset, the annotation view remains unchanged as the map’s
pitch increases, so that the view appears to stand upright on the tilted map.
If this option is set, the annotation view tilts as the map’s pitch increases,
so that the view appears to lie flat against the tilted map.

For example, you would set this option if the annotation view depicts an arrow
that should always point due south. You would unset this option if the arrow
should always point down towards the ground.
*/
@property (nonatomic, assign, getter=isFlat) BOOL flat;

/**
A Boolean value that determines whether the annotation view grows and shrinks
as the distance between the viewpoint and the annotation view changes on a
Expand Down
13 changes: 1 addition & 12 deletions platform/ios/src/MGLAnnotationView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -71,23 +71,12 @@ - (void)setCenter:(CGPoint)center pitch:(CGFloat)pitch
return;
}

if (self.flat)
{
[self updatePitch:pitch];
}

if (self.scalesWithViewingDistance)
{
[self updateScaleForPitch:pitch];
}
}

- (void)updatePitch:(CGFloat)pitch
{
CATransform3D t = CATransform3DRotate(CATransform3DIdentity, MGLRadiansFromDegrees(pitch), 1.0, 0, 0);
self.layer.transform = t;
}

- (void)updateScaleForPitch:(CGFloat)pitch
{
CGFloat superviewHeight = CGRectGetHeight(self.superview.frame);
Expand All @@ -112,7 +101,7 @@ - (void)updateScaleForPitch:(CGFloat)pitch
// reduction is then normalized for a scale of 1.0.
CGFloat pitchAdjustedScale = 1.0 - maxScaleReduction * pitchIntensity;

CATransform3D transform = self.flat ? self.layer.transform : CATransform3DIdentity;
CATransform3D transform = self.layer.transform;
self.layer.transform = CATransform3DScale(transform, pitchAdjustedScale, pitchAdjustedScale, 1);
}
}
Expand Down