【问题标题】:How to set bounds on map from my current location to 5 kms away in a radius?如何在地图上设置从我当前位置到半径 5 公里的范围?
【发布时间】:2019-04-19 20:22:04
【问题描述】:

我在我的 android 应用程序中使用谷歌地图来显示地图上的一些点,但我想将地图限制在给定区域,例如我想将地图边界从用户当前位置限制在半径几英里之外。 在谷歌官方文档中我找到了这个功能:

private LatLngBounds AUSTRALIA = new LatLngBounds(new LatLng(-44, 113), new LatLng(-10, 154)); mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(AUSTRALIA, 0));

但对我来说,问题是我如何在距离用户当前位置几英里的地图上获得纬度和经度。我如何在两个新的 LatLng 函数中设置数据。

【问题讨论】:

标签: java android google-maps


【解决方案1】:

通过了解一个纬度的长度大约为 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 使用更小的度数分数。确保只更改纬度坐标,因为度数之间的距离是固定的。而经度之间的距离因纬度而异,计算起来要复杂得多。

【讨论】:

    猜你喜欢
    • 2019-05-04
    • 2011-06-28
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-04
    相关资源
    最近更新 更多