我在我的android应用程序中使用google地图来显示地图上的一些点,但我想将地图限制在给定的区域,例如,我想将地图边界从用户当前位置限制到半径内的几英里远。在google官方文档中,我找到了这个函数:
private LatLngBounds AUSTRALIA = new LatLngBounds(new LatLng(-44, 113), new LatLng(-10, 154)); mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(AUSTRALIA, 0));
但对我来说,问题是如何在地图上获得距离用户当前位置几英里远的纬度和经度。我如何在两个新的LatLng函数中设置数据。
发布于 2019-04-20 07:44:39
有一种相当简单的方法可以大致估计距离,方法是理解纬度正好是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使用一个度的较小分数。确保仅更改纬度坐标,因为度之间的距离是固定的。而经度之间的距离根据纬度的不同而变化,这是一个复杂得多的计算。
https://stackoverflow.com/questions/55767431
复制相似问题