0

Я ищу способ скопировать все мои маркеры на Google Maps, за исключением нескольких маркеров. Эти несколько маркеров могут время от времени меняться. Например, все маркеры содержат информацию, например, число. Если пользователь просматривает карту Европы, все маркеры кластеризуются, за исключением тех трех маркеров с наибольшим номером. Если пользователь перемещается в Северную Америку на карте или масштабируется, чтобы увидеть весь мир, все маркеры должны снова/по-прежнему группироваться, за исключением трех маркеров, содержащих наибольшее число. Эти 3 маркера теперь могут быть, разумеется, разными маркерами.Кластерные маркеры с исключениями (Google maps android API)

Любая идея, где и с чего начать, тепло ценится. Возможно ли это?

ответ

1

Да, возможно.

Для того чтобы маркер был классифицирован, вы должны явно добавить его в ClusterManager, выполнив mClusterManager.addItem(myClusterizableItem); (см. the documentation).

Таким образом, вам нужно добавить все маркеры в ClusterManager и создать некоторые маркеры (те, которые вы не хотите кластеризовать) обычным способом, используя метод mMap.addMarker.

Другим способом может быть создание пользовательского ClusterRenderer, в котором кластеры ваших маркеров основаны на некоторых условиях и исключают маркеры, которые вы не хотите кластеризовать.

+0

thx! но работает ли это также, когда из-за поведения пользователей изменяются исключения (например, кластерные маркеры)? Я имею в виду, что если пользователь «любит» маркер, маркер не будет кластеризоваться больше для всех пользователей, использующих приложение. Я пока не вижу пути до сих пор :( –

+0

Да, когда пользователь «любит» маркер, вы должны сообщить своему серверу, и следующие запросы получат некоторые маркеры как кластерные, а некоторые другие - как неклассифицируемые, и ваш клиент будет кластер маркеров на основе этого – antonio