gpt4 book ai didi

android - 将 Android GoogleMap 放在一个点上,同时缩放到足以包含另一个点

转载 作者:太空宇宙 更新时间:2023-11-03 12:58:03 25 4
gpt4 key购买 nike

我想要像雷达屏幕这样的东西,它以用户所在的位置为中心,同时缩放到足以包含 v2 api 的目标点。现在我正在使用

bounds = new LatLngBounds.Builder().include(destPos)
.include(yourPos).build();
map.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 50));

但这会在两点之间的某个点居中并缩放以包含两者。有没有像这样简单的方法来做我想做的事?或者我是否必须或多或少地从头开始并做一些数学运算(例如计算两点之间的距离,计算 LatLngBounds 的纬度/经度,以便用户位于定义的矩形的中心并且矩形的边缘包括目的地——考虑到 map /屏幕尺寸)?

这是我所拥有的:

enter image description here

这是我想要的:

enter image description here

最佳答案

您自己的答案过于复杂。

您需要计算位置另一侧的点并将其包含在 LatLngBounds 中。

LatLng otherSidePos = new LatLng(2 * yourPos.latitude - destPos.latitude, 2 * yourPos.longitude - destPos.longitude);
bounds = new LatLngBounds.Builder().include(destPos)
.include(otherSidePos).build();
map.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, padding));

注意:您不想将 50 像素硬编码为填充。它在不同的设备上看起来会有所不同。请改用与密度无关的像素。

关于android - 将 Android GoogleMap 放在一个点上,同时缩放到足以包含另一个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16370163/

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