-
Notifications
You must be signed in to change notification settings - Fork 543
Description
First of all a thank you for all the effort everyone is putting on this library. 👍
Here is what I'm trying to do:
create a new CameraUpdate object using CameraUpdate.newLatLngBounds(latlng,...) with some padding then use controller.animateCamera(cameraUpdate) to update the mapbox's camera position. below is the example code
final padding = EdgeInsets.only(top: 0, bottom: 0, left: 0, right: 100);
final cameraBounds = CameraUpdate.newLatLngBounds(
latLngBounds,
left: padding.left,
right: padding.right,
top: padding.top,
bottom: padding.bottom,
);
await mapController.animateCamera(cameraBounds);Here is the problem:
the left and right padding are not being applied as the arguments assigned for them. what is happening is that left and right padding are summed up and then divided by 2 the result will be set for both left and right padding
for example if we set right padding to 100 and left padding to 0 when padding is being applied on iOS instead of applying 100 padding to the right, it is setting left padding to 50 and right padding to 50.
for example if we swap the padding in the example code above with below padding objects the result will not change on iOS.
since in all of the the sum of left & right padding is 100.
final padding = EdgeInsets.only(top: 0, bottom: 0, left: 100, right: 0);
final padding = EdgeInsets.only(top: 0, bottom: 0, left: 30, right: 70);
final padding = EdgeInsets.only(top: 0, bottom: 0, left: 10, right: 90);
final padding = EdgeInsets.only(top: 0, bottom: 0, left: 0, right: 100);NOTE that same problem exists for top and bottom paddings.
Steps to reproduce on example app
to reproduce this issue in the example app go to animate_camera.dart and change the value of top and bottom padding on line 96. and click on newLatLngBounds button on Camera control, animated screen. you see that padding does not change
I have tested this on iPhone 7