RomanDillerNsk
@RomanDillerNsk
JavaScript

Как получить углы области из массива маркеров google maps?

Коллеги, доброго времени суток, кто сталкивался, прошу помощи, суть такая:

Есть на входе массив координат из объектов { lat, lng }, нужно имея этот массив получить методом googla maps api ( не могу найти решение ) получить координаты углов ( bounds ) что бы получить цетр карты между этими точками. Как это сделать?
  • Вопрос задан
  • 77 просмотров
Пригласить эксперта
Ответы на вопрос 1
function calculateBounds(points) {
  const amount = points.length;
  if (amount === 0) {
    return [];
  }
  let northeast = Object.assign({}, points[0]);
  let southwest = Object.assign({}, points[0]);
  for (let i = 1; i < amount; ++i) {
    let point = points[i];
    ['lat', 'lng'].forEach((c) => {
      northeast[c] = Math.min(northeast[c], point[c]);
      southwest[c] = Math.max(southwest[c], point[c]);
    });
  }
  return new google.maps.LatLngBounds(
    new google.maps.LatLng(northeast.lat,northeast.lng),
    new google.maps.LatLng(southwest.lat,southwest.lng)
  );
}
const points = [
  {lat: 55.3, lng: 36.24},
  {lat: 53.1, lng: 35.39},
  {lat: 57.7, lng: 39.16}
];
const bounds = calculateBounds(points);
bounds.getCenter();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы