【问题标题】:I want this..map zoom on my multiple markers, in one frame.right now my map zoom is showing centerlized position of country我想要这个..地图缩放我的多个标记,在一帧中。现在我的地图缩放显示国家的中心位置
【发布时间】:2020-01-29 18:12:36
【问题描述】:
LatLngBounds bounds = builder.build();

int width = getResources().getDisplayMetrics().widthPixels;
int height = getResources().getDisplayMetrics().heightPixels;
int padding = (int) (width * 0.10); // offset from edges of the map 10% of screen

CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, width, height, padding);

mMap.animateCamera(cu)

您可以查看下面的附加图片。

Image link

【问题讨论】:

  • 我认为您需要提供更多的最小示例来尝试重现您的问题
  • 已应用此代码,但每次标记都未设置在地图中心。 @Amitpandey

标签: java android google-maps kotlin


【解决方案1】:

删除你的高度和宽度并设置填充0并尝试它,因为谷歌地图提供最大缩放并根据屏幕显示。

【讨论】:

    【解决方案2】:

    您可以计算所有标记的范围:-

     val builder = LatLngBounds.Builder();
     for (builder in markers) {
     builder.include(marker.getPosition());
    }
    val bounds = builder.build();
    

    然后通过使用:CameraUpdateFactory:

    获取一个运动对象
    val padding = 0; // offset from edges of the map in pixels
    val cu = CameraUpdateFactory.newLatLngBounds(bounds, padding);
    

    最后是地图:

    googleMap.moveCamera(cu);
    

    如果你想制作动画:

    googleMap.animateCamera(cu);
    

    您可以减少缩放以将 latlng 聚焦在地图中间

    【讨论】:

      猜你喜欢
      • 2013-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-11
      • 1970-01-01
      • 1970-01-01
      • 2012-09-10
      • 1970-01-01
      相关资源
      最近更新 更多