Создайте кластер с OSMDroid

Я уже видел кое-что об этой проблеме на StackOverflow, но не об Osmdroid, а о Google Maps. Поскольку это не одно и то же, многие методы MapView (Карты Google) отсутствуют в MapView (OSMdroid). Я пытался как-то изменить его, но он все еще не работает.

Вот ссылка, о которой я говорю: здесь


person Tsunaze    schedule 11.07.2013    source источник
comment
Рассматривали ли вы возможность использовать библиотеки кластеризации с открытым исходным кодом Android Maps Extensions или Clusterkraf и заставить их работать с OSMdroid?   -  person MaciejGórski    schedule 12.07.2013
comment
stackoverflow.com/questions/20878892/   -  person Stan    schedule 05.01.2015


Ответы (1)


Вот пример кода с комментариями.

// get and clear old overlays
final List<Overlay> overlays = mapView.getOverlays();
overlays.clear();

// create and set up a clusterer
final RadiusMarkerClusterer clusterer = new RadiusMarkerClusterer(context);
clusterer.setIcon(BitmapFactory.decodeResource(context.getResources(), R.drawable.cluster));
clusterer.setRadius(85);
clusterer.mTextAnchorU = 0.70f;
clusterer.mTextAnchorV = 0.27f;
clusterer.getTextPaint().setTextSize(14.0f);


Drawable markerDrawable = res.getDrawable(R.drawable.marker);

// for each entry, create and set up a marker
for (MarkerInfo info : markerData) {
    Marker mr = new Marker(mapView);
    mr.setPosition(new GeoPoint(markerData.lat, markerData.lng));
    mr.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM);
    mr.setTitle(markerData.title);
    mr.setIcon(markerDrawable);
    clusterer.add(mr);
    overlays.add(clusterer);
}
person Miha_x64    schedule 19.08.2015