Если у меня есть минимальные и максимальные значения широты и долготы на карте, как я могу найти правильные значения deltaLat и deltaLong? - PullRequest
0 голосов
/ 06 января 2020

Я пытаюсь вычислить правильные 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
          }}
...