summaryrefslogtreecommitdiff
path: root/platform/ios
Commit message (Collapse)AuthorAgeFilesLines
* [ios] Update location after clearing target coordinateMinh Nguyễn2016-01-261-8/+12
|
* [core, ios, osx] Tilt around visual center pointMinh Nguyễn2016-01-261-2/+7
| | | | The tilt gesture on both iOS and OS X now respects the content insets. On iOS, in user tracking mode, it additionally respects the user dot’s position if it’s aligned to the top or bottom of the view.
* [ios] Fixed entering tracking mode at launchMinh Nguyễn2016-01-262-23/+35
| | | | | | Entering user tracking mode at launch now zooms in and shows the user dot or user puck. The user dot’s heading indicator now points in the correct direction during the animation to the initial location. Course changes are reflected immediately even in the absence of location changes. Fixes #1145.
* [ios] Refactored location updatesMinh Nguyễn2016-01-261-145/+174
| | | | | | Broke out -locationManager:didUpdateLocations:animated: into multiple self-contained methods, simplifying the logic considerably. Eliminated a jump after device rotation in non-centered tracking mode.
* [ios] Bifocal viewport in course tracking modeMinh Nguyễn2016-01-262-30/+125
| | | | When a targetCoordinate is specified in course tracking mode, the map automatically resizes the viewport to show both the user puck and the target, one at the top and the other at the bottom. The user puck now rotates its arrow in the course direction, no longer assuming that the viewport is facing the same way as the course.
* [ios] Turn map around when user dot is top-alignedMinh Nguyễn2016-01-261-4/+9
| | | | Also fixed top- and bottom-aligned user dot center points to account for the content inset’s offset within the map view bounds.
* [ios] Avoid jumping when setting user tracking modeMinh Nguyễn2016-01-261-24/+42
| | | | | | | | Account for the user dot’s alignment when flying to the initial user location. Previously, during incremental location updates, we relied on a hack in which the edge insets resulted in a 0×0 viewport, forcing the center upward or downward. But flyTo() relies on the viewport’s size to control the trajectory. So instead, all location updates now use a correctly-sized viewport centered on the offset user dot. Pushed the user dot farther away from the view edges. Programmatic rotation and compass rotation are now centered on the user dot even if it’s aligned at the top or bottom. Previously, pressing the compass would trigger a rotation centered on the center of the view.
* [ios] Various user tracking mode fixesMinh Nguyễn2016-01-261-3/+22
| | | | | | | | | | Setting the user tracking mode without animation now works. Previously, it kept the user dot from ever updating. Just as a zoom gesture no longer kicks the user out of user tracking mode, programmatically zooming shouldn’t either. Setting a camera with an invalid center coordinate no longer attempts to change the center coordinate but still changes any other valid properties. Made animation to new user dot vertical alignment optional.
* [ios] Avoid the blue background location status barJason Wray2016-01-251-7/+18
| | | | | | | | | Apps with `whenInUse` location permission will show a blue status bar when they continue to use location services after leaving the foreground. This is worrying and to be avoided, so let's disable telemetry location services in this situation. Fixes #2945
* Cleanup std::chrono usageBruno de Oliveira Abinader2016-01-251-6/+7
| | | | Use mbgl::Duration and mbgl::{,Milli}Seconds whenever possible.
* [ios] Allow removing never-added annotationsMinh Nguyễn2016-01-241-4/+10
| | | | https://github.com/mapbox/mapbox-gl-native/issues/3159#issuecomment-174422048
* [ios] Update IB designables message to remove Settings.bundle mentionJason Wray2016-01-221-3/+1
| | | | | | Settings.bundle is no longer a requirement to get started. [skipci]
* [ios] No manual rotating in heading/course tracking modeios-v3.1.0-pre.1Minh Nguyễn2016-01-221-0/+5
| | | | Manually rotating the map in heading or course tracking mode now kicks the user back into location tracking mode.
* [ios] Disable user tracking in -setVisibleCoordinates:Minh Nguyễn2016-01-221-0/+1
| | | | Programmatic modification of the viewport should kick the user out of user tracking mode.
* [ios] Settings.bundle no longer requiredMinh Nguyễn2016-01-221-1/+1
|
* [ios] Split API index from package readmeMinh Nguyễn2016-01-222-2/+12
| | | | The API index page serves a different purpose than the readme. It doesn’t need installation instructions, but it does need a brief What’s New section.
* [ios] make idocumentMinh Nguyễn2016-01-222-22/+35
| | | | Split API documentation generation into a separate make target that can be run independently of building the SDK.
* [ios] Split changelog out from readmeMinh Nguyễn2016-01-221-6/+1
| | | | CocoaPods dings this pod for not having a separate changelog.
* [ios] Polished package readmeMinh Nguyễn2016-01-221-5/+18
| | | | Omit setup instructions for package formats not included in the build output.
* [ios] Rewrote package readmeMinh Nguyễn2016-01-221-6/+6
| | | | The build output’s readme now explains in full detail the installation process, rather than linking to an online resource that may not match the current version. Also cleaned up the tag-finding code to better handle double-digit situations.
* [ios] Documented make targetsMinh Nguyễn2016-01-222-2/+16
|
* [ios] Derive Fabric versioning from Info.plistMinh Nguyễn2016-01-221-2/+3
| | | | Avoid hard-coding the bundle identifier and version string.
* [ios] Refactored build scriptsMinh Nguyễn2016-01-222-93/+150
| | | | | | package.sh now recognizes several environment variables through make that influence the build settings and targets. Info.plist variables are substituted with the correct values in both the static and dynamic frameworks. Fixes #3656.
* [ios] Put static library inside framework bundleMinh Nguyễn2016-01-221-1/+1
|
* [ios] Look for resources in static framework bundleMinh Nguyễn2016-01-222-10/+10
| | | | The library is packaged as a static framework, so there isn’t a separate resource bundle anymore. Instead, look for the static framework inside the Frameworks folder.
* [ios] Strip Simulator content when archivingMinh Nguyễn2016-01-224-13/+38
| | | | | | Copied strip-frameworks.sh from realm/realm-cocoa@7cc31db631c323bb649aec1e311693a599a37f05 for realm/realm-cocoa#2759. This script, which is embedded in the dynamic framework, strips out content for invalid architectures from any embedded framework and specifically strips out Simulator content when archiving to work around an App Store bug. Rewrote the iOS setup documentation. In particular, the MAPBOX_ACCESS_TOKEN environment variable is only for use with the iosapp demo application and doesn’t work in third-party applications.
* [ios] Converted iOS SDK into dynamic frameworkMinh Nguyễn2016-01-2213-158/+104
| | | | | | | | | | make iproj now produces a target that pulls together static libraries like core and platform-ios into a real dynamic framework. iosapp is pretty much just a regular iOS application that links Mapbox.framework (except for the inclusion of default_styles.hpp). iosapp runs fine in the Simulator and on a device, and the same is true for any application linking against Mapbox.framework. The ipackage target produces both a Bitcode-disabled static framework and a Bitcode-enabled dynamic framework, eliminating the need for a separate framework.sh. It disables code signing, since that happens on copy when the framework is embedded inside the application bundle. It also merges the device and simulator builds into a single fat framework. Also bumped itest minimum deployment target to iOS 8.0, the first version that supports linking frameworks. Fixes #828.
* Update INSTALL.mdMinh Nguyễn2016-01-211-12/+8
| | | These changes dropped out of #3416 somehow. The screenshots only make sense inside the gyp-generated project, which is irrelevant in this case.
* [ios] add telemetry debug loggingJason Wray2016-01-202-4/+182
| | | | | | You SHOULD NOT be using telemetry logging on any persons' devices who do not explicitly understand the privacy implications of handling location data.
* [ios] z14 initially in user tracking modeMinh Nguyễn2016-01-201-2/+11
| | | | When entering user tracking mode from a low zoom level, zoom in to z14 regardless of the location’s horizontal accuracy.
* [ios] Reset user tracking, respect content inset in resetPositionMinh Nguyễn2016-01-201-3/+10
|
* [ios] Maintain user tracking, anchor on user dot during zoom, rotateMinh Nguyễn2016-01-201-43/+39
| | | | Per MapKit behavior, zooming or rotating with a gesture can no longer kick the user out of user tracking mode. In user tracking mode, the zoom animation is always anchored on the user dot, wherever it may be.
* [ios, osx] Optionally animate content insets changeMinh Nguyễn2016-01-201-13/+26
|
* [ios] Made user dot position configurableMinh Nguyễn2016-01-201-5/+20
| | | | The user dot or user puck’s position is now configurable via a new alignment property in any user tracking mode. Also, -setUserTrackingMode:animated: is now exposed publicly, and setting its animated parameter to NO skips the initial animation.
* [ios] Non-animated user tracking mode changesMinh Nguyễn2016-01-201-6/+11
| | | | Calling -setUserTrackingMode:animated: with animated set to NO should jump instantaneously to the first reported location.
* [ios] Keep user dot callout open after user location changeMinh Nguyễn2016-01-201-8/+0
| | | | Outside of user tracking mode, the user dot moves in spurts, so view synchronization performance isn’t an issue.
* [ios] Keep callout attached to moving user dotMinh Nguyễn2016-01-201-12/+32
|
* [ios] Maintain user tracking mode after orientation changeMinh Nguyễn2016-01-201-1/+6
|
* [ios] Eliminated jump after flight to first locationMinh Nguyễn2016-01-201-1/+4
| | | | Don’t update the user location annotation’s coordinates until after the transition to the first reported location is complete.
* [ios] Leave user location callout open when trackingMinh Nguyễn2016-01-201-3/+17
| | | | Don’t close the user location annotation’s callout when the user location changes in user tracking mode.
* [ios] Fly to user locationMinh Nguyễn2016-01-201-43/+54
| | | | Fly to the user location when entering user tracking mode. Keep user location updates from interfering with the initial flight.
* [ios] Affix user dot on screen in user tracking modeMinh Nguyễn2016-01-201-17/+75
| | | | | | | | In user tracking mode, keep the user dot in a fixed location on screen, instead easing the map view so that the fixed location corresponds to the new user location. There is one exception: MGLMapView reacts to the first location update the same way as before, so that it appears to move to where the user dot has been all along. In course tracking mode, weight the user dot down towards the bottom of the view, since it’s more important to see the road ahead than the road behind. Fixes #2600, and #1041 to some extent.
* [ios] Fixes crash when vendorId is nilCameron Mulhern2016-01-201-0/+3
|
* [core][ios][osx][android] make SpriteImage accept PremultipliedImageAnsis Brammanis2016-01-191-7/+4
| | | | | | | | | | | | the SpriteImage constructor signature changes from SpriteImage( uint16_t width, uint16_t height, float pixelRatio, std::string&& data, bool sdf = false); to SpriteImage(PremultipliedImage&&, float pixelRatio, bool sdf = false)
* [core][ios][osx][android] fix icons with non-integer width/heightAnsis Brammanis2016-01-191-2/+2
| | | | | | | | | | | ref #3031 ref #2198 For example, an icon that has: - a pixel width of 10 - a pixel ratio of 3 - a scaled with of 3.333 is now supported.
* [ios] Removed redundant zoom constraintsMinh Nguyễn2016-01-181-2/+2
| | | | The zoom level is already clamped by Transform. -currentMinimumZoom appears to be useful only as an unrotation threshold; it doesn’t correspond to the minimum allowed zoom level.
* [ios] Account for top/bottom barsMinh Nguyễn2016-01-181-6/+59
|
* [core, ios, osx, android, glfw] Flipped origin of Map::latLngForPixel(), ↵Minh Nguyễn2016-01-181-24/+3
| | | | | | | | Map::pixelForLatLng() Map and Transform methods assume an origin at the top-left corner of the view, like iOS, Android, and GLFW but unlike OS X. Transform is responsible for flipping coordinates between the top-left origin of Map and the bottom-left origin of TransformState. Fixes #3574.
* [ios] Refactored unrotationMinh Nguyễn2016-01-161-28/+34
| | | | Avoid unrotating due to programmatic rotation, even programmatic rotation that might expose empty portions of the map. Only snap to north due to a gesture.
* [ios] Avoid unrotating in heading or course tracking modeMinh Nguyễn2016-01-161-1/+3
| | | | Fixes #3587.