-1

给定地图上的三个(或更多)点,我想找到最接近所有点并且与所有点的行驶距离相同的点。我想使用提供的行车路线服务在 Google 地图中执行此操作。

任何想法?

非常感谢

更新

这个问题中提到了一种找到一堆位置中心的方法,这可能是第一步

var locations = [
            ['Bondi Beach', -33.890542, 151.274856, 4],
            ['Coogee Beach', -33.923036, 151.259052, 5],
            ['Cronulla Beach', -34.028249, 151.157507, 3],
            ['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
            ['Maroubra Beach', -33.950198, 151.259302, 1]
        ];

//[OTHER CODE]

var bound = new google.maps.LatLngBounds();

for (i = 0; i < locations.length; i++) {
  bound.extend( new google.maps.LatLng(locations[i][1], locations[i][2]) );

  // OTHER CODE
}

var geoCenter = bound.getCenter();//THIS IS THE GEOGRAPHICAL CENTER

在此之后,人们可以检索从每个点到中心的行车路线,并希望它们的距离大致相同。如果出于任何原因,距离相差太大,则应开发某种方法来找到所需的点。

4

1 回答 1

2

我认为没有任何服务可以实现这一目标。

您可以尝试计算地理中心点,然后使用方向服务计算从每个点到该点的行驶距离。如果一个或多个行驶距离明显长于另一个,则可以调整沿路线的“中心点”并重试。

还要考虑沿着笔直道路的三个点 - 没有任何地方与所有这些点都最近和等距

于 2013-10-24T10:34:09.900 回答