Commit Graph

389 Commits

Author SHA1 Message Date
Minh Nguyễn
281d3d4f8c Merge branch 'release-ios-v3.5.0-android-v5.0.0' into 1ec5-release-ios-v3.5.4 2017-05-18 18:04:07 -07:00
John Firebaugh
cc1ea759a6 [core, node, darwin, android, qt] Make image ID part of Image
More like Source and Layer.
2017-05-16 12:26:35 -07:00
John Firebaugh
9eba2a66d1 [core, node, darwin, qt] Remove support for paint classes 2017-05-15 09:45:55 -07:00
Minh Nguyễn
4d6f54553d [core, android, ios, macos] Added Traffic Day/Night to default styles
The Styles API section of the Mapbox API Documentation site now lists Traffic Day v2 and Traffic Night v2, so this change adds those styles to all the places where styles are listed.

Also switched iosapp and macosapp to unversioned style factory methods since MGLStyleDefaultVersion is no longer applicable for all styles.
2017-05-11 18:57:39 -07:00
Minh Nguyễn
9e384b78fb [ios, macos] Undeprecated unversioned style URL factory methods
Undeprecated the unversioned style URL factory methods in MGLStyle for consistency with the Android and Qt SDKs. Added warnings about using them with the runtime styling API.

Refactored mbgl::util::default_styles to track different versions for different styles.
2017-05-11 18:57:39 -07:00
Minh Nguyễn
ca97dd8cf4 [ios, macos] Updated documented default style version
MGLStyleDefaultVersion is just for Streets now. Deleted style version documentation tests because not all styles are on the same version.
2017-05-11 18:57:39 -07:00
Minh Nguyễn
ed54849e99 [core, android, ios, macos, qt] v10 default styles
Upgraded from v9 default styles to v10 wherever the developer expects to get the latest and greatest, as well as in a couple tests where it may be beneficial to ensure that we can handle a two-digit version number in the style URL.
2017-05-11 18:57:39 -07:00
John Firebaugh
c2b00378b7 [all] Push querySourceFeatures back out to Map
Once Source and RendererSource are split, Source will no longer have access to tiles.
2017-05-02 08:45:09 -07:00
Jordan Kiley
a3e4e67ea6 [ios, macos] Updated maximumZoomLevel description, cherry-picked #8818 (#8842) 2017-05-01 15:42:54 -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
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
80d0420ea6 [darwin] Remove use of NS_DESIGNATED_INITIALIZER from MGLStyleLayer subclasses
It produces compiler warnings for which there seems to be no workaround, and since there's only a single initializer, NS_DESIGNATED_INITIALIZER has little benefit.
2017-04-13 10:33:18 -07:00
John Firebaugh
e5c6d2838d [darwin] Make -[MGLForegroundStyleLayer sourceIdentifier] abstract
It's already overridden by concrete subclasses, and by making it abstract we enable the removal of the private MGLForegroundStyleLayer category.
2017-04-13 10:33:18 -07:00
John Firebaugh
7b041b123c [core, darwin] Object identity for MGLSource*, MGLStyleLayer*
All `MGLSource` pointers referencing the same logical source will now be object identical; similarly for `MGLStyleLayer`.
2017-04-13 10:33:18 -07:00
John Firebaugh
de6c9b35f3 [darwin] Simplify MGLStyleLayer initialization and pointer management
Similarly to the previous commit, introduce `-[MGLStyleLayer initWithPendingLayer:]`, allowing the base class to track the owned `_pendingSource` pointer and implement `-addToMapView:` and `-removeFromMapView:` without any casts.

Fixes an issue where `-[MGLStyle layerFromMBGLLayer:]` would wind up creating layers whose `_rawLayer` and `_pendingLayer` held different values.
2017-04-13 10:33:18 -07:00
John Firebaugh
98d005792b [darwin] Simplify MGLSource initialization and pointer management
Introduce `-[MGLSource initWithPendingSource:]`, allowing the base class to track the owned `_pendingSource` pointer and implement `-addToMapView:` and `-removeFromMapView:` without any casts.
2017-04-13 10:33:18 -07:00
John Firebaugh
3a342c709c [darwin] Remove unnecessary MGLTileSource initializers 2017-04-13 10:33:18 -07:00
Minh Nguyễn
0cb05f926b [ios, macos] Clarify redrawing based on multipoint mutation
Clarified the documentation for various MGLMultiPoint methods to indicate that only shape annotations automatically redraw in response to the multipoint object being mutated; sources must be mutated explicitly.
2017-04-11 16:40:18 -07:00
Minh Nguyễn
6a0c4e0142 [macos] Remove link attribute from attribution text
Fixed an issue causing the attribution button text to appear blue instead of black. On macOS 10.12 and above, hyperlinks in attributed strings are blue regardless of any color attributes applied to the same run of text.
2017-04-10 22:06:36 -07:00
Anand Thakker
693c9f3641 [core] Add DDS support for {text,icon}-size (#8593)
* Update gl-js and generate style code

* Factor out packUint8Pair() helper function

* Draft implementation of DDS for {text,icon}-size

Ports https://github.com/mapbox/mapbox-gl-js/pull/4455

* Fix text-size/composite-function-line-placement test

* Refactor to PaintPropertyBinders-like strategy

* Dedupe gl::Program construction

* Use exponential function base for interpolation

* Dedupe coveringZoomStops method

* Fixup tests

* Fix CI errors (hidden within #if block)
2017-04-06 15:29:59 -04: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
ab6185fdc3 [ios, macos] Streamlined coordinate validation
Replaced preflight checks in MGLLatLngFromLocationCoordinate2D() with a try-catch block that relays exceptions raised by mbgl. De-inlined the function because it’s no longer trivial.
2017-04-06 09:22:51 -07:00
John Firebaugh
16a2839e23 [all] Make LatLng coordinates read-only 2017-04-06 09:22:51 -07:00
John Firebaugh
e6122d9bf0 [darwin] Preflight argument validity before constructing mbgl::LatLng 2017-04-06 09:22:51 -07:00
John Firebaugh
391a10db0e [darwin] Use MGLLatLngFromLocationCoordinate2D where appropriate 2017-04-06 09:22:51 -07:00
John Firebaugh
1a9bccbb85 [core] Add DDS support for icon-image 2017-03-31 14:17:33 -07:00
John Firebaugh
743d954053 [core] Add DDS support for text-rotate 2017-03-31 13:26:27 -07:00
Molly Lloyd
47c1e42ac1 [core] implement dds for text-offset 2017-03-28 11:06:58 -07:00
Konstantin Käfer
234384ece9 [core] Move OpenGL extension initialization to Backend 2017-03-23 14:50:11 -07:00
John Firebaugh
d7227e13a7 [all] Replace Result<T> with optional<T> plus out Error parameter 2017-03-23 13:31:13 -07:00
John Firebaugh
e488ca702e Merge branch 'release-ios-v3.5.0-android-v5.0.0' 2017-03-21 12:04:20 -07:00
Eric Wolfe
f91072a6b0 [ios][macos] Document that transitions using setStyleURL are not supported (#8475) 2017-03-20 17:00:53 -07:00
Jesse Bounds
73ed8aa7be [ios] Guard against over calling pause or resume 2017-03-18 19:09:45 -07:00
Jordan Kiley
789a49d46d [ios, macos] update iOS SDK guides (#8354)
- Added DDS guide
- Updated "For Style Authors" guide
2017-03-17 19:13:24 -04:00
Bruno de Oliveira Abinader
df0dfa162b [macos] Update changes in MapObserver::onDidFailLoadingMap 2017-03-17 11:25:48 +02:00
Jordan Kiley
2c0005c262 [ios, macos] Add more information to interpolation mode docs (#8425)
Addresses #8192 until #8354 lands.
2017-03-15 13:57:37 -07:00
Minh Nguyễn
4430e65603 [ios, macos] Expanded feature querying documentation
Also fixed a couple incorrect Swift method names on macOS.
2017-03-14 14:42:57 -07:00
Jordan Kiley
e8f6c75896 [ios, macos] API doc revisions (#8396)
- Changed `make style-code-darwin` to `make darwin-style-code` in relevant files
- Added some doc clarifications:
   - `MGLInterpolationModeExponential` and `MGLInterpolationModeInterval` can be used with `MGLCameraStyleFunction` (I am not sure how to accurately reflect this in the documentation for `MGLCompositeStyleFunction`)
    - Do not add a style layer to the style property on a map view before the style has finished loading
    - Create individual style layers from a `MGLShapeCollectionFeature`
2017-03-14 12:31:31 -07:00
Minh Nguyễn
e91be23b7f [ios, macos] Fixed documentation parameter mismatches
Also enabled compiler warnings about incorrect Doxygen commands.
2017-03-13 12:35:09 -07:00
Minh Nguyễn
936cc33d52 [ios, macos] Resolved unused variable warnings
Resolved unused variable warnings in Release configuration that occurred because they were only used within NSAssert() invocations, which are omitted from Release builds.
2017-03-13 11:05:38 -07:00
Minh Nguyễn
b74d7bfdb4 [ios, macos] Corrected polyline equality
Now that annotation classes override -isEqual:, it’s no longer appropriate to rely on -isEqual: or -containsObject: to check for the preexistence of an annotation. Those methods become deep equality tests, which have worse performance. Checking for identity allows the developer to add a polyline and polygon with identical coordinates, title, etc. to the map.

Implemented a missing -[MGLPolyline isEqual:].

Removed outdated comments about -annotationTagForAnnotation: being expensive.
2017-03-10 15:08:00 -08:00
Fabian Guerra Soto
20712b7c84 Per-attribute transition properties on MGLStyleLayer (#8225)
* [ios, macos] new struct MGLTransition

* [ios] MGLTransition struct moved to MGLTypes.h

* [ios] MGLTransition implemented for style layer properties

* [ios, macos] added support for getting property transitions

* [ios, macos] updated to MGLDurationFromTimeInterval and MGLTimeIntervalFromDuration

* [ios, macos] added transition properties test

* [ios, macos] modified key strings imp

* [ios, macos] The impl for transition properties were changed to public methods

* [ios, macos] Changelog update

* [ios] Fixed layer space formatting

* [core] The name space was fixed for getters that returned TransitionOptions

* [ios, macos] Added rawLayer transition property tests

* [ios] Added a factory method for MGLTransition and transition-related methods to NSValue(MGLAdditions)

* [ios, macos] Copyedited changelog blurbs about transition properties
2017-03-10 11:33:31 -08:00
Ivo van Dongen
a7fd788b5d [macos, ios] query source features 2017-03-10 11:08:32 -08:00
Minh Nguyễn
d82092d606 [ios, macos] Fixed camera function exception message
This exception message had a typo; developers would’ve been advised to use a method that doesn’t exist, due to case sensitivity. Moreover, the method has been renamed since this message was written.
2017-03-10 10:22:44 -08:00
Konstantin Käfer
e9cf787779 [darwin] Use explicit initialization rather than global static variables for the default RunLoop
When linking Mapbox GL as a static library, the object file (MGLFoundation.o) containing the global static variable initialization was not linked into the resulting binary since it was not referenced. This resulted in the RunLoop not being initialized in the main thread.

Reverts 03a14ff000
2017-03-10 06:48:42 -08:00
Ivo van Dongen
12568f21a3 [macos, ios] query source features 2017-03-09 13:11:23 -08:00
Konstantin Käfer
86ea1e3ac3 [darwin] Use explicit initialization rather than global static variables for the default RunLoop
When linking Mapbox GL as a static library, the object file (MGLFoundation.o) containing the global static variable initialization was not linked into the resulting binary since it was not referenced. This resulted in the RunLoop not being initialized in the main thread.

Reverts 03a14ff000
2017-03-09 10:07:36 -08:00
Fabian Guerra Soto
05dd34f584 [ios, macos] Removed duplicated NSDate test files, improved duration converstion for NSDate+MGLAdditions (#8290) 2017-03-08 13:15:52 -08:00