Получить количество маркеров, отображаемых в Картах Android - PullRequest
0 голосов
/ 13 июня 2019

Я показываю список из n маркеров на карте, затем увеличиваю свое местоположение и хочу узнать, можно ли подсчитать, сколько маркеров отображается в моей области.

Спасибо.

Ответы [ 2 ]

1 голос
/ 13 июня 2019

Вы можете сохранить список маркеров в вашем 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++;
  }
}

просто убедитесь, что вы добавили маркер в список после того, как добавили его в свой объект карты

1 голос
/ 13 июня 2019

Вы можете вызвать метод ниже для каждого маркера, чтобы увидеть, находятся ли они внутри видимой области Карты.

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;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...