Google maps 添加多个点后关注谷歌地图

Google maps 添加多个点后关注谷歌地图,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,可能重复: 我正在写一个使用谷歌地图的应用程序。该应用程序将多个点添加到地图中。我希望在添加这些点后能够将地图集中在这些点上,但不知道如何进行 到目前为止,我倾向于做以下工作: 添加点时,跟踪最小经度、最大经度、最小纬度、最大纬度 计算平均经度、平均纬度 所以。。现在我知道如何找到我的地图中心了 有人知道我将如何计算缩放吗?将位置添加到空对象中 调用结果边界 psuedo代码(未测试,假设您的标记位于名为gmarkers的范围内的数组中,假设您的google.maps.Map对象称为“Map”

可能重复:

我正在写一个使用谷歌地图的应用程序。该应用程序将多个点添加到地图中。我希望在添加这些点后能够将地图集中在这些点上,但不知道如何进行

到目前为止,我倾向于做以下工作:

  • 添加点时,跟踪最小经度、最大经度、最小纬度、最大纬度
  • 计算平均经度、平均纬度
  • 所以。。现在我知道如何找到我的地图中心了


    有人知道我将如何计算缩放吗?将位置添加到空对象中

    调用结果边界

    psuedo代码(未测试,假设您的标记位于名为gmarkers的范围内的数组中,假设您的google.maps.Map对象称为“Map”):

    var-bounds=new google.maps.LatLngBounds();
    对于(变量i=0;i
    将位置添加到空对象

    调用结果边界

    psuedo代码(未测试,假设您的标记位于名为gmarkers的范围内的数组中,假设您的google.maps.Map对象称为“Map”):

    var-bounds=new google.maps.LatLngBounds();
    对于(变量i=0;i
    如果您事先知道点(标记),则将所有点的中心点设置为setCenter marker point,其余点设置为markers并设置Zoomlevel

    如果您事先不知道点,也不知道位置(例如,特定的州、县或地区),则获取点的中心点,获取点的lat/lng并将该点设置为设置中心标记点,相应地设置zoomlevel并添加标记(点)。

    如果您知道点(标记)在此之前,将所有点的中心点设置为“设置中心标记点”,其余点设置为“标记点”,并设置Zoomlevel


    如果您事先不知道点,也不知道位置(例如,特定的州、县或地区),请获取其中心点,获取其纬度/lng并将该点设置为设置中心标记点,相应地设置zoomlevel并添加标记(点)。

    谢谢!我假设我将LatLngBounds设置为最小/最大lat/lng(可能+一点缓冲)?干杯实际上,如果您创建了一个空的bounds对象,请使用bounds.extend(marker.getPosition())将所有标记添加到该对象中,然后只需调用map.fitbunds(bounds),它就可以很好地工作。thx homie!!这有助于tonnesthanks!我假设我将LatLngBounds设置为最小/最大lat/lng(可能+一点缓冲)?干杯实际上,如果您创建了一个空的bounds对象,请使用bounds.extend(marker.getPosition())将所有标记添加到该对象中,然后只需调用map.fitbunds(bounds),它就可以很好地工作。thx homie!!这有助于提高产量
    var bounds = new google.maps.LatLngBounds();
    for (var i = 0; i < gmarkers.length; i++) 
    {
       bounds.extend(gmarkers[i].getPosition());
    }
    map.fitBounds(bounds);