Commit Graph

19 Commits

Author SHA1 Message Date
Minh Nguyễn
2ec95bc490 [ios, osx] Renamed version constant, linked to more info
Renamed MGLStyleCurrentVersion to MGLStyleDefaultVersion to emphasize the constant’s role as an indicator of the default version used by SDK classes, which may be behind depending on release schedules. In the documentation for each style URL method, include the actual version number instead of the constant. In unit tests, verify that this documentation is in sync with the constant.

Link each style URL method’s documentation to a forthcoming webpage on mapbox.com that describes the style in rich detail.
2016-05-06 11:06:52 -07:00
Minh Nguyễn
5ccb43477f [ios, osx] Renamed Hybrid to Satellite Streets
The style ID has also changed, but the unversioned method will continue to point to the old v8 style ID.
2016-05-06 11:06:51 -07:00
Minh Nguyễn
2a4eeadb29 [core, ios, osx] Version default style URL APIs; deprecated Emerald
Updated default styles from v8 to v9. Deprecated the MGLMapView class methods in favor of new methods that take a version parameter. Deprecated Emerald outright in favor of Outdoors. Replaced usage of the unversioned MGLStyle methods with the corresponding versioned methods and MGLStyleCurrentVersion to ensure consistency.

Expanded MGLStyle unit tests to also assert that MGLStyle has the right number of style URL methods and that they’re all public. Linked the OS X SDK unit test bundle to libmbgl-core.a. Removed an unnecessary dependency on osxapp.

Replaced Emerald with Outdoors in iosapp and osxapp.

Fixes the iOS and OS X side of #4577 and #4702.
2016-05-06 10:57:54 -07:00
Minh Nguyễn
cf2ef5b40b [ios] Use default images for world tour destinations
Use the default red pin images for world tour destinations in iosapp instead of the two characters usually used for the “Add n Points” actions.
2016-04-25 22:02:06 -07:00
Minh Nguyễn
d9a2a845de [ios] Added accessibility labels, hints, gestures
Fixed an issue where the “return to map” accessibility element lacked a label. Always update the title and subtitle of an annotation accessibility element, in case the title or subtitle changes from one showing to the next.

Added a hint for annotations. Use declarative rather than imperative for hints.

Marked the map view and its annotations as adjustable so that swiping up and down with VoiceOver zooms out and in, respectively.

Added accessibility values to toolbar buttons in iosapp.
2016-04-25 00:24:35 -07:00
Minh Nguyễn
7cc3928a19 [ios] Made annotation callouts accessible
Via nfarina/calloutview#84, SMCalloutView is now accessible. Activating a focused annotation now shows its callout view and focuses its left accessory view, if present, or the title view. There is a “return to map” accessibility element for dismissing the callout view and restoring focus to the annotation on the map.
2016-04-25 00:18:57 -07:00
Minh Nguyễn
f1200d47db [ios, osx] Made localizable strings unique; unlocalized iosapp
Assigned unique IDs to localizable English strings in code.

Made iosapp non-localizable. For the time being, it isn’t worth the trouble to localize more strings for this demo application than for the SDK itself.
2016-04-24 16:17:43 -07:00
Minh Nguyễn
6c9ca4be50 [ios] Made SDK and iosapp localizable
Made storyboards and strings throughout the SDK and iosapp localizable. Replaced the compass image with an unlabeled image. Draw a localizable string atop it at runtime.

Redefined NSLocalizedString() and NSLocalizedStringFromTable() macros to look at the SDK bundle rather than the main application bundle. This redefinition has no effect on the host application, because it’s in an internal header. That header must be included in all files that contain localizable strings. See NSBundle+MGLAdditions.h for a full explanation.

Added a make rule that runs genstrings and ensures UTF-8 output (since genstrings insists on UTF-16).

Use MGLCoordinateFormatter in iosapp for dropped pin callouts. Rely on subclasses of MGLPointAnnotation instead of annotation titles to distinguish between different kinds of point annotations.
2016-04-24 16:13:08 -07:00
Minh Nguyễn
91023f02f8 [ios, osx] Coordinate formatter
Added a degree-minute-second coordinate formatter for general use. Use this formatter in iosapp and osxapp.

Added unit tests for the coordinate formatter and for round-tripping geometry types through NSValue.
2016-04-22 11:13:03 -07:00
Minh Nguyễn
e404eeae1b [ios] Fixed crash on missing access token
Fixed a race condition in which the access token alert controller would fail to present because the view controller hadn’t yet entered the view hierarchy, plus a downstream crash caused by the access token being missing.
2016-04-21 17:52:16 -07:00
Minh Nguyễn
8a4c2d4b0e [ios] Observe annotation coordinates
MGLMapView observes changes to the coordinate property of each MGLAnnotation added to it. Changing the coordinate property in a KVO-compliant way causes the annotation to be relocated and its callout view, if present, to be dismissed. To avoid observing the same annotation twice yet also avoid expensive lookups when adding or removing annotations, MGLMapView indexes added point annotations in an NSMutableSet.

In iosapp, tapping a callout view moves the selected annotation to the center of the screen and deselects it.

Fixes #1980.
2016-04-19 14:24:59 -07:00
Minh Nguyễn
bc9b52e0ab [ios] Annotation image deletion
Added an API for deleting unused annotation images’ images. When you nil out the image of an MGLAnnotationImage, MGLMapView deletes the sprite from the style and recreates any annotation associated with the MGLAnnotationImage instance; the MGLAnnotationImage’s falls back to SDK’s default annotation image.

In iosapp, deselecting an annotation resets its image to the default; deselecting it again restores the image.

ref #3185
2016-04-19 14:24:59 -07:00
Minh Nguyễn
4edd1e9658 [ios] Use staging server in simulator
Use the staging telemetry server when compiled for the iOS Simulator.

Fixes #3621.
2016-04-18 16:56:14 -07:00
Minh Nguyễn
d86e7323cc [ios] Deprecated -[MGLMapView emptyMemoryCache]
Deprecated -[MGLMapView emptyMemoryCache]. Switched ios-bench to a redeclared -didReceiveMemoryWarning as a workaround.

Fixes #1833.
2016-04-18 15:45:27 -07:00
Minh Nguyễn
96e0857227 [ios] Prompt for access token in iosapp
If no access token is found in user defaults at launch, iosapp prompts the user for an access token. Renamed the user defaults key for the access token to conform to Cocoa naming conventions.

Fixes #4696.
2016-04-18 14:57:20 -07:00
Minh Nguyễn
943c09f1c7 [ios, osx] Took advantage of C99
Now that #4641 has removed the prohibition against C99 extensions, this change removes many pragma statements that suppress warnings about variadic macros and designated initializers. Designated initializers and Elvis operators have been introduced wherever appropriate.
2016-04-16 23:29:40 -07:00
Jason Wray
7e0a2e36e6 [ios] Convert telemetry test server setting to user default
- Previously looked in app's Info.plist, now looks at NSUserDefaults
2016-04-13 18:04:06 -04:00
Minh Nguyễn
bbde70e3f0 [ios] Fixed style count assertion 2016-04-11 13:28:04 -07:00
Minh Nguyễn
3671765a51 [ios] Converted MBXViewController to Objective-C
Converted MBXViewController from Objective-C++ to Objective-C. In the process, the dependency on default_styles.hpp was replaced by a hardcoded list of style URLs along with runtime assertions that the list of styles is the right length.
2016-04-07 00:58:23 -04:00