获取在Maps Android中显示的标记数

时间:2019-06-13 15:46:53

标签: android google-maps

我在地图上显示n个标记的列表,然后缩放到我的位置,我想知道是否有可能只计算在我的区域中显示了多少个标记。

谢谢。

2 个答案:

答案 0 :(得分:1)

您可以为每个标记调用以下方法,以查看它们是否在“地图”可见区域内。

map.getBounds().contains(marker.getPosition())

如果getBounds方法不可用,请尝试以下操作:

VisibleRegion region = map.getProjection().getVisibleRegion();
LatLngBounds mapBound = region.latLngBounds;
int count 0;
for(Marker marker : makers) { // markers is the List of marker you have
  if(mapBound.contains(marker.getPosition()){
    count = count + 1;
  }
}

答案 1 :(得分:1)

您可以在ActivityFragment中保留一个标记列表,然后对其进行循环,以查看其是否在可见区域List.size()中以获取标记的数量。

private List<Marker> mMarkerArray = new ArrayList<Marker>();


 ///to get number of marker 
 int marker_count = = 0; 
 for(int i =0;i<=mMarkerArray.size();i++){
     if(mMap.latLngBounds.contains(new LatLng(mMarkerArray.get(i).getLocation().getLongitude(), mMarkerArray.get(i).getLocation().getLatitude())){
  marker_count++;
  }
}

只需确保在将标记添加到地图对象后在列表中添加标记