5

在我的应用程序中,我使用谷歌地图上的标记来显示地点。但是我一次标记了所有我不想做的可用位置。我想通过获取地图坐标来显示只适合屏幕的地方,如下所示:

在此处输入图像描述

我只想通过发送地图的坐标从源中获取此范围内可用的地点。我不确定是否应该从屏幕角落捕获所有 4 坐标?

谁能帮我弄清楚这个?

4

4 回答 4

4

您可以使用以下方法获取它们:

    yourMapView.getMap().getCameraPosition();

这将返回一个CameraPosition对象。摄像机的坐标由 field target给出,缩放级别由 field zoom给出。现在您应该能够计算屏幕角的近似坐标。

于 2013-02-04T09:45:03.410 回答
1

要随时获取地图的 TopLeft 和 BottomRight 坐标,请使用以下命令:

public GeoPoint getCurrentTL(MapView map){
    Projection pr = map.getProjection();
    return pr.fromPixels(0, 0);
}

public GeoPoint getCurrentBR(MapView map){
    Projection pr = map.getProjection();
    return pr.fromPixels(map.getWidth(), map.getHeight());
}
于 2013-02-04T09:49:39.093 回答
1

所以,这是一个老问题,但这是一个新的问题。

当地图启动(可见)时,您可以要求可见区域:

VisibleRegion vRegion = mMap.getProjection().getVisibleRegion();
LatLng upperLeft = vRegion.farLeft
LatLng lowerRight = vRegion.nearRight;
于 2015-06-01T01:38:12.160 回答
1

另一种方式,我们可以使用LatLngBounds。它返回2 个点:东北和西南

VisibleRegion vRegion = mMap.getProjection().getVisibleRegion();
纬度西南 = vRegion.latLngBounds.southwest;
纬度东北= vRegion.latLngBounds.northeast;

https://developers.google.com/maps/documentation/android-api/views

于 2016-10-22T01:03:51.980 回答