gpt4 book ai didi

Android谷歌地图缩放以适​​合标记和当前位置

转载 作者:太空狗 更新时间:2023-10-29 13:30:31 24 4
gpt4 key购买 nike

我正在尝试使用 Google map 为我的应用创建一个自定义的“我的位置”按钮。

我想要做的是将 map 围绕用户的位置居中,这已经完成并且工作完美,但也想放大到足以看到我选择的标记(这实际上是我内存中最接近的一组标记,但现在这并不重要)。

我没能找到 zoom 变量在这里是如何工作的。如果我知道我要显示的标记距离我 0.5 个 GPS 单位,我如何才能以在其边界上包括该标记的方式使 map 以我为中心?我还会使用填充来确保它完全适合 map 。

LatLng my_coordinates = ...;
LatLng closest_mark = ...;

map.animateCamera(CameraUpdateFactory.newLatLng(my_coordinates));

所以现在我想修改该代码,不仅要将位置居中到 my_coordinates,还要确保缩放将使 closest_mark 适合视口(viewport)

CameraUpdateFactory.newLatLngBounds( ?? , /*padding*/);

最佳答案

我认为 api 中没有特定的缩放变量可以与 map 中的点一起控制。 (而 LatLngBounds 只接受右上和左下边界,并相应地为您提供 View )。

我相信你可以做的是用一点几何学。如果您的标记非常靠近您的位置(您可以认为它是一个矩形),请获取两者之间的距离并以相同的距离在相反的方向上推断该距离(如果您想要一些填充则乘以一个小因子)以获得其他坐标,然后就可以得到右上角和左下角的坐标(简单几何)。

如果您的标记很远并且地球表面出现在图片中,您可能必须使用 haversine formula (great circle distance) .

希望这对您有所帮助。

关于Android谷歌地图缩放以适​​合标记和当前位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15975576/

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