Я полагаю, что существует проблема с реализацией android-native-maps для Android. Я не уверен, но, похоже, проблема с преобразованием px в dp. Попробуйте это:
const padding = Platform.OS === 'android'
? PixelRatio.getPixelSizeForLayoutSize(20)
: 20;
const mapPadding = {top: padding, right: padding, bottom: padding, left: padding};
Если это не работает, попробуйте установить отступ на 200 и посмотрите, есть ли разница.
Edit:
Это точный код, который я успешно использую:
const iosEdgePadding = { top: 100, right: 50, bottom: 300, left: 50 };
const androidEdgePadding = {
top: PixelRatio.getPixelSizeForLayoutSize(iosEdgePadding.top),
right: PixelRatio.getPixelSizeForLayoutSize(iosEdgePadding.right),
bottom: PixelRatio.getPixelSizeForLayoutSize(iosEdgePadding.bottom),
left: PixelRatio.getPixelSizeForLayoutSize(iosEdgePadding.left),
}
const edgePadding = (Platform.OS === 'android') ? androidEdgePadding : iosEdgePadding;
this.refs.map.fitToCoordinates([coordinate1, coordinate2], { edgePadding, animated: true })