2

我目前正在玩一些 Android 和 GPS 跟踪等。

我发现,例如,我必须使用我想要获取 POI 的边界的角点调用 OSM API。我想实现,我从手机中获取我当前的坐标(它已经可以工作),然后从 OSM 获取我当前位置为中心的边界框的一些 pois。

我可以想象这样的功能:

public Map getBoundingBox(双倍长,双倍纬度,int米);

但我不知道如何计算这个边界框。有人可以给我一些提示吗?

干杯,基督徒

4

1 回答 1

1

我假设 long 和 lat 以秒为单位。

首先,您需要以秒为单位计算矩形的宽度。一秒是赤道上的 30.9 米,对于其他纬度,乘以 cos(lat),因此要将其转换为秒,请执行以下操作:

double widthSeconds = meters / (30.9 * cos(lat));

其次,知道了盒子的中心,就很容易计算出角的坐标:

在此处输入图像描述


编辑:上面的例子适用于欧洲和亚洲。对于其他位置,坐标轴的方向可能不同。

于 2013-07-30T20:05:49.403 回答