gpt4 book ai didi

Android:给定一个点设置谷歌地图缩放和位置的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:05:18 24 4
gpt4 key购买 nike

我有一个 ArrayList,这些 LatLng 中的每一个都是我 map 上的一个标记该列表可以包含 0 到 1 到 n 个点。它们彼此之间可能相距甚远,也可能不相距甚远。

谁能帮我,给定 map 区域的高度(“h”dp)和宽度(“w”dp),确定:

  1. 这个集合的“中心”
  2. 该组的适当缩放级别 (z),以便所有标记在大小为“h”乘以“w”的框架内可见,但 (z+1) 缩放级别不会显示所有点。

最佳答案

要找到一组 LatLng 点的中心:

LatLngBounds.Builder builder = new LatLngBounds.Builder();
for (LatLng point: pointSet) {
builder.include( point);
}
LatLngBounds bounds = builder.build();
LatLng centerPoint = bounds.getCenter();


至于缩放,最简单的方法是调用 map.animate:

mapObj.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, PADDING_VALUE));

保证将 map 设置为包含边界输入(加上填充)的最大缩放级别。


如果您仍然对了解所需的缩放级别感兴趣:

float zoomLevel = mapObj.getCameraPosition().zoom; // call after(!) animateTo

关于Android:给定一个点设置谷歌地图缩放和位置的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25433501/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com