2

可能重复:
如何确定地理点是否显示在当前可见区域中?

有没有什么有效的方法可以让我知道我的地图视图相对于当前缩放级别显示了多少区域(就地理点而言)?

就像在几何中一样,我们知道左上角可能从 (0,0) 开始,右下角可能在 (320,480) 结束,有什么方法可以让我知道当前的左上角 GeoPoint 是,比如说 (76.3213 ,54.5678) 右下角是 (112.2345, 132.4567) ?

最终,我想查询数据库以向我发送与 GeoLocations 相关的信息,该信息大于起点且小于终点。

4

2 回答 2

1

有几种方法可以做到这一点:

一,使用MapView.getProjection(),它允许您在屏幕坐标和 GeoPoints 之间进行转换。

第二,使用 、 和 的组合MapView.getMapCenter()MapView.getLatitudeSpan()一些MapView.getLongitudeSpan()数学运算。在您的情况下,第一个选项听起来更好,但您的里程可能会有所不同。

无论哪种方式,MapView 文档都位于此处

于 2011-05-29T17:20:48.610 回答
1

使用

 mapview.getTop(), mapview.getBottom(), mapview.getLeft(), mapview.getRight() 

获取地图视图边缘的位置。然后使用

mapView.getProjection().fromPixels(x, y);

获取坐标。当你得到这些坐标后,将其存储在数据库中,然后查询它们就很简单了。

于 2011-05-30T03:56:36.393 回答