Я пытаюсь вычислить правильные longitudeDelta и latitudeDelta для моей карты (вместо того, чтобы просто жестко кодировать ее как latitudeDelta: 0,0922 и longitudeDelta: 0,0421 ). Я должен иметь возможность видеть все маркеры на моей карте в любой момент.
У меня есть эта функция, которая принимает массив с координатами и возвращает мне значения min и max lat и long.
Как я могу найти правильные значения deltaLat и deltaLong? И как мне найти среднюю точку между маркерами?
const data = [
[3.51, 213.41, "wilfredo casas", "receiver"],
[52.61, 14.91, "wilfredo casas", "receiver"],
[80.50, 53.28, "wilfredo casas", "receiver"],
]
calculateMaxMinDeltaValues = data => {
let maxLatitude = -90;
let minLatitude = 90;
let maxLongitude = -180;
let minLongitude = 180;
data.forEach(element => {
maxLatitude = Math.max(maxLatitude, element[0]);
minLatitude = Math.min(minLatitude, element[0]);
maxLongitude = Math.max(maxLongitude, element[1]);
minLongitude = Math.min(minLongitude, element[1]);
});
return { maxLatitude, minLatitude, maxLongitude, minLongitude }; // this returns: 80.50, 3.51, 213.41, 14.91
};
initialRegion={{
latitude: ?, // this should locate me in the middle point of the min and max values
longitude: ?, // this should locate me in the middle point of the min and max values
latitudeDelta: ?, // I should be able to see all markers on the map
longitudeDelta: ? // I should be able to see all markers on the map
}}