Commit Graph

428 Commits

Author SHA1 Message Date
Fabian Guerra Soto
6d629597d7 [ios] Make tilt gesture recognizer recognizable only with two horizontal fingers (#9571)
* [ios] Make tilt gesture recognizer recognizable only with two horizontal fingers

* [ios] Make tilt gesture recognizer tolerance degree less restrictive
2017-07-27 15:16:39 -07:00
danielamitaysc
0cdef85798 [ios] Proper limiting behavior when trying to zoom out fully
- Bail from quick zoom if new zoom is same as old zoom
- Allow pinch gesture at minZoom to still move the map
2017-07-27 17:34:09 -04:00
Jason Wray
dcd9a38388 [ios] Don't force the attribution button tint color to update 2017-07-24 19:24:24 -04:00
Konstantin Käfer
629922f557 [build] enable -fvisibility=hidden for iOS 2017-07-13 01:38:29 -04:00
Jason Wray
6aecc66fc8 [ios] Minimize tilt gesture delay 2017-06-28 16:21:41 -04:00
Minh Nguyễn
9b0b74dba6 [ios] Fixed infinite loop zooming in past z23
At zoom levels where the minimum 1 meter or 4 feet would be wider than the scale bar’s maximum width, the local variable holding the preferred row was left undefined. A loop that later iterated based on this row would effectively iterate infinitely until memory pressure forces the system to quit the application.
2017-06-24 13:14:05 -07:00
Minh Nguyễn
eedd0553b4 [ios] Allow delegate to keep wandering pinch from panning map
MGLMapView consults MGLMapViewDelegate about whether to zoom the map in response to a pinch gesture, but it should also account for the delegate’s response when panning the map due to the pinch’s center point wandering.

Fixes #9168.
2017-06-22 12:17:17 -07:00
Romain Quidet
d3730241bb 7910: cancel tracking if ongoing animation is stopped manually (#7916)
* 7910: cancel tracking if ongoing animation is stopped manually

* 7910 updating change log

* [ios] Fix map camera animation when a significant change occurs

* [ios] Update cancel tracking documentation.
2017-06-22 06:50:09 -07:00
Jesse Bounds
505999a52d [ios] Update telemetry cert pinning (#9292) 2017-06-19 09:34:44 -10:00
Jordan Kiley
df3af97389 [ios, macos] Revised descriptions for abstract classes (#9095)
Addresses https://github.com/mapbox/mapbox-gl-native/issues/8635
2017-06-14 11:26:34 -07:00
Jesse Bounds
012e88cc9b [ios] Make annotation view rotation alignment configurable (#9147)
This commit adds `rotatesWithMap` property on `MGLAnnotationView`. This
property, when set to `YES` fixes the annotation to a map such that view
follows map's rotation angle. This is useful when user wants to display
rotation-dependent annotations (e.g. sector lights).
2017-06-01 10:53:02 -07:00
Minh Nguyễn
a39116a552 Migrate to GL JS–powered feedback form (#9078)
* [ios, macos] Updated feedback URL

* [ios, macos] Add referrer, heading, pitch to feedback URL

* [ios, macos] Updated changelogs for feedback changes

* [ios] Vary referrer by platform
2017-05-30 15:14:00 -07:00
Fredrik Karlsson
608fd66ab8 [ios] remove layout guide observers 2017-05-30 13:47:51 -07:00
Jesse Bounds
7b85bcccae [ios] Remove filter of single metric event 2017-05-30 13:38:08 -07:00
Jesse Bounds
fce7747da0 [ios] Fix annotation initializers for subclasses of MGLAnnotationView (#9104)
Use a common init function in both of the provided initializers so that subclasses of `MGLAnnotationView` written in Swift don't need to override `init(annotation, reuseIdentifier)`
2017-05-24 21:08:19 -07:00
Jason Wray
d90c1722c9 [ios] Move image resources to an asset catalog & switch to PDFs 2017-05-23 13:57:48 -04:00
Jason Wray
9b11bb98fa [ios] Fallback to Mapbox.bundle as the framework bundle (#9074)
Fixes an issue where localizations could not be found when using static builds.

Throws exception if our bundle can't be found.
2017-05-23 13:24:16 -04:00
Fabian Guerra Soto
e52249c17f [ios, macos] Light property implementation in MGLStyle (#9043)
* [ios, macos] Add MGLLight to MGLStyle

* [ios, macos] Implement Objc bindings for Light object

* [ios, macos] Remove rawLight from MGLLight and re-implement it as value class

* [ios, macos] Fix build on macos

* [ios, macos] Add MGLLight documentation, Move MGLLightPosition to MGLLight

* [ios, macos] Add MGLLight tests.

* [ios, macos] Update changelogs

* [ios, macos] Fix misspelling

* [ios, macos] Fix MGLLightAnchor enum property names

* [ios, macos] Update documentation. Improve varialble naming.

* [ios, macos] Rename MGLLightPosition to MGLSphericalPosition

* [ios, macos] Update data types of MGLSphericalPosition
2017-05-23 10:59:24 -04:00
Jesse Bounds
b9d3ccc995 [ios] Remove annotation view from container view when annotation removed (#9025)
The annotation container view keeps an array of annotation views that is separate from the array of subviews that is a property of the UIView parent class. This removes an annotation view from that container view array when the associated annotation is removed. This avoids issue related to previously removed annotation views continuing to be involved in map view logic around annotation view selection due to taps.
2017-05-19 11:27:46 -07:00
Jesse Bounds
554b1cf3e2 [ios] Add annotation view initializer with annotation and reuse id (#9029) 2017-05-19 09:35:09 -07:00
Fredrik Karlsson
3b109c8540 Observe layout guides (#7716)
* [ios] observe layout guides

* [ios] update changelog
2017-05-19 14:01:35 +02:00
Jordan Kiley
4f90d7a566 [ios] Telemetry button in modal view controllers (#9027)
Fixes #8980.
2017-05-17 15:46:27 -07:00
Jesse Bounds
b7b6706576 [ios] Use map view frame to calculate annotation view reuse adjustments (#8926)
* [ios] Use map view frame to calculate annotation view reuse adjustments

The value for determining the visible viewport buffer and also the distance to move offscreen an annotation view outside of that buffer was based on the annotation view width and height. This changes that to use the map viewport width and height as constants and avoids a class of bugs where the annotation view would become detached from the tracking system when it did not have a size or was animating from a small to large size.
2017-05-09 12:08:41 -07:00
Jason Wray
d99ebea930 [ios] Check for NaN when calculating scale bar width 2017-05-08 15:44:51 -04:00
Justin R. Miller
e5ae80ca96 [ios] properly show attribution in modal hierarchies (#8837)
fixes #8782
2017-05-02 14:07:57 -07:00
Lauren Budorick
f6e79d7073 [core] Render fill-extrusion layers (#8431) 2017-04-27 15:56:55 -07:00
John Firebaugh
5dd98df50b [all] Rationalize style::Image
A style has a collection of images, just as it has collections of sources and layers.

* Name things appropriately
* Use std::unique_ptr
2017-04-24 15:52:28 -07:00
Minh Nguyễn
6f708ac545 [ios, macos] Update MGLMapView logo view (#8771)
* [ios, macos] Updated logo view to new Mapbox logo

* [default] Updated attribution logo SVG
2017-04-24 13:31:22 -04:00
Justin R. Miller
43cc8dbdb8 [ios] fixes #8522: don't alter tint color on annotation views (#8789) 2017-04-21 11:50:34 -07:00
John Firebaugh
092da9c956 [core] Remove non-Map-dependent projection methods from Map 2017-04-18 14:43:31 +03:00
Fredrik Karlsson
8eb23cbac8 [ios] Scale bar (#7631)
* [ios] added a scale bar

* [ios] update design

* [ios] show/hide scale bar

* [ios] Remove the need to localize 0

* [ios] Support for imperial units

* [ios] Round to nearest foot

* [ios] Make scale bar private

* [ios] Update design and clean up

* [ios] Rename and various optimizations

* [ios] RTL support

* [ios] added max scale and removed animations

* [ios] animate scale bar
2017-04-16 17:24:17 +02:00
Bruno de Oliveira Abinader
2f4d162deb [core] Tighten geo.hpp ctors 2017-04-14 12:33:13 -07:00
John Firebaugh
f1c06f8d83 [all] Remove redundant scale-related camera methods
We don't need to have two different measurement systems for map zoom.
2017-04-13 10:28:44 -07:00
Jordan Kiley
258ac8219a [ios] added check for annotation view animation (#8565)
Addressed #8489
2017-04-12 11:30:28 -07:00
Fabian Guerra
12b6fdbe3b Merge branch 'release-ios-v3.5.0-android-v5.0.0' into boundsj-merge-release-branch
# Conflicts:
#	cmake/core-files.cmake
#	mapbox-gl-js
#	platform/android/CHANGELOG.md
#	platform/ios/CHANGELOG.md
#	platform/macos/CHANGELOG.md
#	platform/qt/bitrise-qt5.yml
#	src/mbgl/gl/attribute.hpp
#	src/mbgl/gl/context.cpp
#	src/mbgl/gl/program.hpp
#	src/mbgl/map/map.cpp
#	src/mbgl/programs/program.hpp
#	src/mbgl/renderer/painter.cpp
2017-04-11 21:46:23 -04:00
David Chiles
10c6f1fe4f [ios] Match gesture recognizer with map view user interaction state 2017-04-11 07:33:22 -07:00
Bruno de Oliveira Abinader
a9e09c710e [ios, macos] MGLMapView size check for OpenGL 2.0 ES minimum texture size 2017-04-10 18:01:28 +03:00
Jesse Bounds
03d10bb67a [ios, macos] Guard against looking up annotation contexts MGLAnnotationTagNotFound (#8686) 2017-04-07 15:23:39 -07:00
Minh Nguyễn
8382420314 [ios, macos] Fail gracefully on invalid coordinates
Invalid coordinates no longer cause an exception to be raised immediately when used in conversion methods and model objects. Instead, the appropriate invalid values are used, consistent with MapKit. Exceptions are still raised when invalid model objects are used with the map.
2017-04-06 09:22:51 -07:00
Minh Nguyễn
d39ea23b09 [ios, macos] Hardened std::map usage in MGLMapVIew
Replaced std::map::operator[] usage with std::map::at(). Backed up an assertion on iOS with a guard when -annotationTagsInRect: returns the tag of a nonexistent annotation, for consistency with macOS. Removed an unnecessary and risky subscript into _annotationContextsByAnnotationTag in -positioningRectForCalloutForAnnotationWithTag: on iOS.
2017-04-05 14:56:06 -07:00
Fabian Guerra Soto
ec34813c90 [ios] assertion to check if an annotationTag > 0 (#8588)
* [ios] assertion to check if an annotationTag > 0

* [ios,macos] assertion and guard added to check annotations in  visibleAnnotationsInRect
2017-04-05 14:16:58 -04:00
Jesse Bounds
ff73371216 [ios] Silence incompatible type warning for callout view (#8608)
This silences a compatibility warning that was introduced in a previous
refactor that changed the return type of the callout view for
annotation delegate method. This also adds checks to ensure that the
callout view provided by the delegate to the map view is of the correct
type and conforms to the correct protocol.
2017-04-04 15:25:59 -07:00
Jason Wray
228bff7602 [ios] Replaced UIActionSheet, UIAlertView with UIAlertController 2017-04-01 19:58:09 -07:00
Minh Nguyễn
003caddbc0 [ios] Localized map view proxy accessibility hint 2017-03-30 11:47:09 -07:00
Jesse Bounds
dcb14f98ee [ios] Modify return type so callout bridges with protocol in Swift
`- (nullable UIView <MGLCalloutView> *)mapView:(MGLMapView *)mapView
calloutViewForAnnotation:(id <MGLAnnotation>)annotation;` bridges
with a `UIView?` return type in Swift. This changes replaces the
`UIView` type in the method signature so that, when bridged to Swift,
the returned object is defined as `MGLCalloutView?`.
2017-03-29 16:58:07 -07:00
Fabian Guerra Soto
c5c69102c5 [ios] nil check in visibleAnnotationsInRect to avoid crash (#8513) 2017-03-28 16:06:16 -04:00
Konstantin Käfer
a84aa453a9 [core] Privatize OpenGL/Context headers 2017-03-28 13:53:19 +02:00
Konstantin Käfer
234384ece9 [core] Move OpenGL extension initialization to Backend 2017-03-23 14:50:11 -07:00
Konstantin Käfer
8e5214144e [core] Ensure that a BackendScope exists when doing GL calls 2017-03-23 14:50:11 -07:00
John Firebaugh
e488ca702e Merge branch 'release-ios-v3.5.0-android-v5.0.0' 2017-03-21 12:04:20 -07:00