检查可见区域android上显示的标记数量

时间:2016-08-11 10:59:42

标签: android google-maps google-maps-markers

我正在使用地图应用程序,我从服务器获取地点的坐标,我正在调用API,它使用mMap.setOnCameraIdleListener从服务器获取坐标。问题是,每当我移动相机时都会调用API,并且如果用户只是稍微移动地图相机,则会一次又一次地将标记设置在同一位置。

现在,我考虑检查可见区域上的标记数量,但我没有得到如何计算仅在可见区域上的标记数量。 我使用了以下代码,但它只能告诉我是否在可见区域上可见一个特定的LatLng点。

public boolean isVisibleOnMap(LatLng latLng) {
    VisibleRegion vr = mMap.getProjection().getVisibleRegion();
    return vr.latLngBounds.contains(latLng);
}  

2 个答案:

答案 0 :(得分:4)

我将此作为答案发布:

尝试使用for循环重复所有标记,并使用vr.latLngBounds.contains(latLng);检查这些标记是否包含在可见区域中。

答案 1 :(得分:0)

if(mMap.getProjection().getVisibleRegion().latLngBounds.contains(currentMarker.getPosition())){
//Showing in VisibleRegion
} else {
//Not Showing
}