2

当我有超过 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 个标记时,如何计算中心?

谢谢

4

1 回答 1

0

找到包含所有标记的矩形,然后使用该矩形的中点。

首先,遍历所有标记并找到:

  • 最小纬度
  • 最小化
  • 最大纬度
  • 最大值

然后,您可以使用这两个点对两个标记进行相同的计算:

  • (minLat, minLng)
  • (最大纬度,最大长度)
于 2019-06-04T15:30:25.403 回答