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

问题描述 投票:2回答:2

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

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

public boolean isVisibleOnMap(LatLng latLng) {
    VisibleRegion vr = mMap.getProjection().getVisibleRegion();
    return vr.latLngBounds.contains(latLng);
}  
android google-maps google-maps-markers
2个回答
4
投票

我发布这个作为答案:

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


0
投票
if(mMap.getProjection().getVisibleRegion().latLngBounds.contains(currentMarker.getPosition())){
//Showing in VisibleRegion
} else {
//Not Showing
}
© www.soinside.com 2019 - 2024. All rights reserved.