我在我的android应用程序中使用google map在地图上显示一些点,但是我想将地图限制在给定区域,例如,我想将地图边界从用户当前位置限制到半径几英里之外。 在google官方文档中,我找到了此功能:
private LatLngBounds AUSTRALIA = new LatLngBounds(new LatLng(-44, 113), new LatLng(-10, 154)); mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(AUSTRALIA, 0));
但是对我来说,问题是我如何在距用户当前位置几英里的地图上获取经度和纬度。如何在两个新的LatLng函数中设置数据。
答案 0 :(得分:0)
了解纬度大约在69英里左右,这是一种很容易掌握距离的方法。因此,如果您做了这样的事情:
private LatLngBounds AUSTRALIA = new LatLngBounds(new LatLng(-44.0, 113), new LatLng(-43.5, 113), new LatLng(-44.5, 113));
假设第一个纬度/经度是您当前的位置,那么您将创建一个半径范围,该范围的半径距离当前位置约35英里。如果想要较小的半径,可以使用较小的纬度差异,例如-40.0,-40.1,-39.9使用较小的度数。确保您仅更改纬度坐标,因为度之间的距离是固定的。经度之间的距离随纬度而变化,这是一个复杂得多的计算。