Car*_*ter 3 android google-maps-android-api-2
我想要一个类似雷达屏幕的东西,它以用户所在的位置为中心,同时缩放到足以包含 v2 api 的目标点。现在我正在使用
bounds = new LatLngBounds.Builder().include(destPos)
.include(yourPos).build();
map.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 50));
Run Code Online (Sandbox Code Playgroud)
但这以两点之间的某个点为中心,并缩放以包括两者。有没有像这样简单的方法来做我想做的事?或者我是否必须或多或少地从头开始并做一些数学运算(例如计算两点之间的距离,计算 LatLngBounds 的纬度/经度,以便用户位于定义的矩形的中心,矩形的边缘包括目的地——考虑到地图/屏幕尺寸)?
这是我所拥有的:

这是我想要的:

您自己的答案过于复杂。
您需要计算位于您位置另一侧的点并将其包含在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));
Run Code Online (Sandbox Code Playgroud)
注意:您不想将 50 像素硬编码为填充。在不同的设备上看起来会有所不同。改用密度无关像素。
| 归档时间: |
|
| 查看次数: |
2274 次 |
| 最近记录: |