fixes #2044: add -showAnnotations:animated:
This commit is contained in:
@@ -151,6 +151,13 @@ IB_DESIGNABLE
|
||||
* @param animated Specify `YES` to animate the change by smoothly scrolling and zooming or `NO` to immediately display the given bounds. */
|
||||
- (void)setVisibleCoordinates:(CLLocationCoordinate2D *)coordinates count:(NSUInteger)count edgePadding:(UIEdgeInsets)insets animated:(BOOL)animated;
|
||||
|
||||
/** Sets the visible region so that the map displays the specified annotations.
|
||||
*
|
||||
* Calling this method updates the value in the visibleCoordinateBounds property and potentially other properties to reflect the new map region.
|
||||
* @param annotations The annotations that you want to be visible in the map.
|
||||
* @param animated `YES` if you want the map region change to be animated, or `NO` if you want the map to display the new region immediately without animations. */
|
||||
- (void)showAnnotations:(NS_ARRAY_OF(id <MGLAnnotation>) *)annotations animated:(BOOL)animated;
|
||||
|
||||
/** The heading of the map (measured in degrees) relative to true north.
|
||||
*
|
||||
* The value `0` means that the top edge of the map view corresponds to true north. The value `90` means the top of the map is pointing due east. The value `180` means the top of the map points due south, and so on. */
|
||||
|
||||
@@ -2151,6 +2151,29 @@ CLLocationCoordinate2D MGLLocationCoordinate2DFromLatLng(mbgl::LatLng latLng)
|
||||
}
|
||||
}
|
||||
|
||||
- (void)showAnnotations:(NS_ARRAY_OF(id <MGLAnnotation>) *)annotations animated:(BOOL)animated
|
||||
{
|
||||
if ( ! annotations || ! annotations.count) return;
|
||||
|
||||
mbgl::LatLngBounds bounds;
|
||||
|
||||
for (id <MGLAnnotation> annotation in annotations)
|
||||
{
|
||||
if ([annotation conformsToProtocol:@protocol(MGLOverlay)])
|
||||
{
|
||||
bounds.extend(MGLLatLngBoundsFromCoordinateBounds(((id <MGLOverlay>)annotation).overlayBounds));
|
||||
}
|
||||
else
|
||||
{
|
||||
bounds.extend(MGLLatLngFromLocationCoordinate2D(annotation.coordinate));
|
||||
}
|
||||
}
|
||||
|
||||
[self setVisibleCoordinateBounds:MGLCoordinateBoundsFromLatLngBounds(bounds)
|
||||
edgePadding:UIEdgeInsetsMake(100, 100, 100, 100)
|
||||
animated:animated];
|
||||
}
|
||||
|
||||
#pragma mark - User Location -
|
||||
|
||||
- (void)setShowsUserLocation:(BOOL)showsUserLocation
|
||||
|
||||
Reference in New Issue
Block a user