Обединете дъщерните изгледи на MapView, когато се припокриват

Използвам MapView и трябва да покажа сложни щифтове върху него. Добавям щифт към картата с помощта на addView() с MapView.LayoutParams с MODE_MAP. И така, изгледи на карта, движещи се с карта.

Добавям около 20 пина и когато намаля мащаба на картата, щифтовете се припокриват един с друг.

Как мога да обединя припокриващи се пинове в един щифт?

UPD 1:

За всеки щифт знам rect, който поставя в MapView. Има ли бърз алгоритъм за намиране на припокриващи се правоъгълници?


person Nik    schedule 04.10.2012    source източник


Отговори (1)


Можете да тествате припокриването на правоъгълник с:

Rect rect1, rect2;
if(rect1.intersect(rect2)
  //do something

В това съобщение има хубав алгоритъм за обединяване на щифтове, когато се припокриват: Обединяване на щифтове

късмет.

person Luis    schedule 04.10.2012
comment
Алгоритъмът за сливане на щифтове не е приложим за моя случай, не мога да отменя метода на рисуване, т.е. не използвам наслагване за добавяне на елементи към картата. rect1.intersect(rect2) - Познавам този метод, но имам нужда от тестване на 20 или повече (до 200) припокриващи се правоъгълника и имам нужда от бърз алгоритъм за него. - person Nik; 05.10.2012