我在地图上显示n个标记的列表,然后缩放到我的位置,我想知道是否有可能只计算在我的区域中显示了多少个标记。
谢谢。
答案 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)
您可以在Activity
或Fragment
中保留一个标记列表,然后对其进行循环,以查看其是否在可见区域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++;
}
}
只需确保在将标记添加到地图对象后在列表中添加标记