Использование библиотеки ClusterMarkerLibrary для работы с кластерами маркеров на карте
Android SDK
Ссылки:
Скриншоты:
Версия 1.0.0
Описание:
Файлы:
Скриншот:
Руководство:
Пример кода на Java:
// Создание кластера
ClusterOverlay clusterOverlay = new ClusterOverlay(mAMap,
dp2px(getApplicationContext(), clusterRadius),
getApplicationContext());
for (int i = 0; i < ConstantUtils.latlngs.length; i++) {
RegionItem regionItem = new RegionItem(ConstantUtils.latlngs[i],
ConstantUtils.names[i]);
clusterOverlay.addClusterItem(regionItem);
}
Создание и настройка кластера:
// Настройка кластера
clusterOverlay.setClusterRenderer(this);
clusterOverlay.setOnClusterClickListener(this);
Настройка отображения кластера:
public Drawable getDrawAble(int clusterNum) {
// Получение радиуса кластера
int radius = dp2px(getApplicationContext(), clusterRadius);
if (clusterNum == 1) {
return getApplication().getResources().getDrawable(
R.drawable.icon_openmap_mark);
} else if (clusterNum < 5) {
BitmapDrawable drawable = new BitmapDrawable(drawCircle(radius,
Color.argb(159, 210, 154, 6)));
return drawable;
} else if (clusterNum < 10) {
BitmapDrawable drawable = new BitmapDrawable(drawCircle(radius,
Color.argb(199, 217, 114, 0)));
return drawable;
} else {
BitmapDrawable drawable = new BitmapDrawable(drawCircle(radius,
Color.argb(235, 215, 66, 2)));
return drawable;
}
}
Обработка клика по кластеру:
public void onClick(Marker marker, List<ClusterItem> clusterItems) {
String content = "";
for (ClusterItem clusterItem : clusterItems) {
RegionItem item = (RegionItem) clusterItem;
content += item.getTitle() + " ";
}
infoTextView.setText(content);
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )