Google-карта-реакция центрирование карты с несколькими маркерами - PullRequest
2 голосов
/ 04 июня 2019

Как мне найти центр карты, когда у меня более 2 маркеров?Когда у меня только 2, я сделал это так:

midPoint(trackingLocation, deliveryLocation) {
    if (deliveryLocation) {
      return [
        trackingLocation.lat + (deliveryLocation.lat - trackingLocation.lat) * 0.5,
        trackingLocation.lng + (deliveryLocation.lng - trackingLocation.lng) * 0.5
      ];
    } else {
      return trackingLocation;
    }
  }

Но как рассчитать центр, когда у меня есть 5 маркеров?

Спасибо

1 Ответ

0 голосов
/ 04 июня 2019

Найдите прямоугольник, содержащий все маркеры, затем используйте среднюю точку этого прямоугольника.

Сначала пройдите все маркеры и найдите:

  • minLat
  • minLng
  • maxLat
  • maxLng

Затем вы можете выполнить те же вычисления, что и для двух маркеров, с этими двумя точками:

  • (minLat, minLng)
  • (maxLat, maxLng)
...