Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Map + Location Animators #293

Merged
merged 41 commits into from
Mar 28, 2018
Merged

Map + Location Animators #293

merged 41 commits into from
Mar 28, 2018

Conversation

danesfeder
Copy link
Contributor

This PR will aim to add new, more powerful APIs for animating the MapboxMap camera. This functionality will include the ability to account for padding, zoom, and tilt when animating towards a targeted LatLng. Can be integrated with the LocationLayer to add the same camera tracking functionality found in the currently MyLocationView in the Maps SDK.

cc @tobrun @LukasPaczos

}
}

private static float normalizeBearing(float currentBearing, float targetBearing) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should just extract this method into the Utils class since I already use the same logic in LocationLayerPlugin

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cammace Sure thing. Just porting this code from mapbox/mapbox-navigation-android#679 - will look to clean up and remove duplicate code as the PR progresses

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome

danesfeder and others added 4 commits February 21, 2018 15:40
* Add style / tracking modes for camera integration

* Fix broken tests

* API tweaks and example update
* Update with render / camera modes

* Update camera with mode manager and cancel animation check

* Update method compass name
* initial LocationLayerPlugin cleanup

* added the animator class

* animator implementation in the LocationLayer

* reworked location layer camera

* added Animator to LocationLayerPlugin

* adjusted location activities

* animator order fix

* last values ordering fix

* string fixes

* Fix GPS layer

* using previous animated value when starting a new one

* small tweaks

* setting accuracy ring only if using the right mode
Łukasz Paczos and others added 4 commits February 27, 2018 16:33
* Clean up and javadoc

* Updates per review
* [location-layer-plugin] - improve setting location engine

* [location-layer-plugin] - attaching location engine listener when resetting the engine
* Clean up and javadoc

* Add long click listener

* Add max / min zoom and padding APIs

* Fix javadoc

* Add default values to options
@LukasPaczos LukasPaczos added this to the location-layer-0.5.0 milestone Mar 1, 2018
@LukasPaczos LukasPaczos added the location-layer-plugin Issues that deal with the location layer module label Mar 1, 2018
Łukasz Paczos and others added 14 commits March 1, 2018 18:06
* [location-layer-plugin] - bumped maps SDK to 6.x

* [location-layer-plugin] - style options initialization fixes

* [location-layer-plugin] - added gestures handling implementation
* Add style / tracking modes for camera integration

* Fix broken tests

* API tweaks and example update
* Update with render / camera modes

* Update camera with mode manager and cancel animation check

* Update method compass name
* initial LocationLayerPlugin cleanup

* added the animator class

* animator implementation in the LocationLayer

* reworked location layer camera

* added Animator to LocationLayerPlugin

* adjusted location activities

* animator order fix

* last values ordering fix

* string fixes

* Fix GPS layer

* using previous animated value when starting a new one

* small tweaks

* setting accuracy ring only if using the right mode
* Clean up and javadoc

* Updates per review
* [location-layer-plugin] - improve setting location engine

* [location-layer-plugin] - attaching location engine listener when resetting the engine
* Clean up and javadoc

* Add long click listener

* Add max / min zoom and padding APIs

* Fix javadoc

* Add default values to options
Łukasz Paczos and others added 6 commits March 12, 2018 11:56
* [location-layer-plugin] - bumped maps SDK to 6.x

* [location-layer-plugin] - style options initialization fixes

* [location-layer-plugin] - added gestures handling implementation
danesfeder and others added 9 commits March 21, 2018 11:27
* Add initial animators

* Add Camera and Tracking Modes (#294)

* Add style / tracking modes for camera integration

* Fix broken tests

* API tweaks and example update

* Update with Render / Camera Modes (#297)

* Update with render / camera modes

* Update camera with mode manager and cancel animation check

* Update method compass name

* Add animator class (#302)

* initial LocationLayerPlugin cleanup

* added the animator class

* animator implementation in the LocationLayer

* reworked location layer camera

* added Animator to LocationLayerPlugin

* adjusted location activities

* animator order fix

* last values ordering fix

* string fixes

* Fix GPS layer

* using previous animated value when starting a new one

* small tweaks

* setting accuracy ring only if using the right mode

* Cleanup stale runnable (#304)

* only update the location layer accuracy when not in RenderMode.GPS (#306)

* Improve enabling/disabling location layer plugin (#308)

* LocationLayerPlugin Javadoc (#309)

* Clean up and javadoc

* Updates per review

* LocationEngine listening to updates after resetting (#307)

* [location-layer-plugin] - improve setting location engine

* [location-layer-plugin] - attaching location engine listener when resetting the engine

* Add max / min zoom and padding APIs  (#313)

* Clean up and javadoc

* Add long click listener

* Add max / min zoom and padding APIs

* Fix javadoc

* Add default values to options

* Gestures logic for camera tracking, new telemetry library (#327)

* [location-layer-plugin] - bumped maps SDK to 6.x

* [location-layer-plugin] - style options initialization fixes

* [location-layer-plugin] - added gestures handling implementation

* Update dependencies

* Add missing long click listener

* [location-layer] - fix crash on startup

* Smooth bearing animation

* Add separate camera animators

* Fix camera transitions between animators

* Add reset function for switching camera modes

* Add gps north functionality to camera animator

* Camera transition updates

* [location-layer-plugin] - fixed camera tracking callbacks

* [location-layer-plugin] - decreased default max zoom

* [location-layer-plugin] - saving state in LocationLayerModesActivity

* update maps sdk to latest beta (#384)

* update maps sdk to latest beta

* fixed checkstyle
* [location-layer-plugin] - fixed gestures threshold

* [location-layer-plugin] - layer drawable updates adjustments
* [android] - fix order of interpolator

* [location-layer-plugin] - fine tuned scale values
@danesfeder danesfeder merged commit f50d8d5 into master Mar 28, 2018
@danesfeder danesfeder deleted the map-location-animators branch March 28, 2018 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
location-layer-plugin Issues that deal with the location layer module
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants