【问题标题】:Claculate the area currently displayed by the Android MapView [duplicate]计算Android MapView当前显示的区域[重复]
【发布时间】:2013-02-12 05:37:55
【问题描述】:

可能重复:
How can I determine if a geopoint is displayed in currently viewable area?

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

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

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

【问题讨论】:

    标签: android android-mapview android-maps


    【解决方案1】:

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

    一,使用MapView.getProjection(),它可以让你在屏幕坐标和GeoPoints之间进行转换。

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

    无论哪种方式,MapView 文档都位于完整的here

    【讨论】:

      【解决方案2】:

      使用

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

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

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

      获取坐标。获得坐标后,将其存储在数据库中,然后查询它们很简单。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-10-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-09
        相关资源
        最近更新 更多