1

我有 5 个标记要显示在地图上,其中 4 个彼此非常接近,第五个与这 4 个有点远。现在当我显示地图时,我希望所有这 5 个标记都显示在地图上以及具有最高可能缩放的 。我不在乎它们是在屏幕的边缘还是在屏幕的中心。我的意思是标记可以分散在屏幕上,但我想要的是所有标记都应该对用户可见并且具有尽可能高的缩放。

我试过这个Android 地图 v2 缩放来显示所有标记。但结果是它以非常小的缩放显示地图中心的所有标记。实际上我已经使用此代码计算了屏幕尺寸。

       DisplayMetrics metrics=new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(metrics);

    float height=metrics.heightPixels/metrics.xdpi;
    float width=metrics.widthPixels/metrics.ydpi;

但我不知道为什么变焦很少。但是当我看到 android 文档时,我认为该功能通过做它所说的任何事情来做正义。

  public static CameraUpdate newLatLngBounds (LatLngBounds bounds, int width, int height, int padding)

  Returns a CameraUpdate that transforms the camera such that the specified 
 latitude/longitude bounds are centered on screen within a bounding box of specified 
 dimensions at the greatest possible zoom level. You can specify additional padding, 
  to further restrict the size of the bounding box. The returned CameraUpdate has a 
  bearing of 0 and a tilt of 0.

 Unlike newLatLngBounds(LatLngBounds, int), you can use the CameraUpdate returned by
 this method to change the camera prior to the map's the layout phase, because the 
 arguments specify the desired size of the bounding box.

正如它所说,它将所有标记保留在地图的中心。我不要那个。我希望所有标记对用户可见,并且具有最大可能的缩放和分散的标记。有人可以帮帮我吗?

4

1 回答 1

1

您对浮动宽度和高度的计算不正确。

您现在的宽度是英寸(在手机上约为 2)。您不需要划分像素宽度。

于 2013-05-25T16:09:48.297 回答