检查可见区域显示的标记数 android
Checking number of markers shown on visible region android
我正在开发地图应用程序,我从我的服务器获取地点的坐标,我正在调用 API,它使用 mMap.setOnCameraIdleListener
从服务器获取坐标.问题是每次我移动相机时都会调用 API,如果用户只是稍微移动地图相机,标记就会一次又一次地设置在同一位置。
现在,我想检查可见区域的标记数量,但我不知道如何只计算可见区域的标记数量。
我使用了下面的代码,但它只能告诉我一个特定的 LatLng
点是否在可见区域可见。
public boolean isVisibleOnMap(LatLng latLng) {
VisibleRegion vr = mMap.getProjection().getVisibleRegion();
return vr.latLngBounds.contains(latLng);
}
我将此作为答案发布:
尝试使用 for 循环遍历所有标记并使用 vr.latLngBounds.contains(latLng);
检查这些标记是否包含在可见区域中。
if(mMap.getProjection().getVisibleRegion().latLngBounds.contains(currentMarker.getPosition())){
//Showing in VisibleRegion
} else {
//Not Showing
}
我正在开发地图应用程序,我从我的服务器获取地点的坐标,我正在调用 API,它使用 mMap.setOnCameraIdleListener
从服务器获取坐标.问题是每次我移动相机时都会调用 API,如果用户只是稍微移动地图相机,标记就会一次又一次地设置在同一位置。
现在,我想检查可见区域的标记数量,但我不知道如何只计算可见区域的标记数量。
我使用了下面的代码,但它只能告诉我一个特定的 LatLng
点是否在可见区域可见。
public boolean isVisibleOnMap(LatLng latLng) {
VisibleRegion vr = mMap.getProjection().getVisibleRegion();
return vr.latLngBounds.contains(latLng);
}
我将此作为答案发布:
尝试使用 for 循环遍历所有标记并使用 vr.latLngBounds.contains(latLng);
检查这些标记是否包含在可见区域中。
if(mMap.getProjection().getVisibleRegion().latLngBounds.contains(currentMarker.getPosition())){
//Showing in VisibleRegion
} else {
//Not Showing
}