Android: Avoid overlapping of items in Google MapView
===

I have got an itemizedOverlay where I´m painting some markers at some specific points.

Next to them I draw their name in onDraw

    	@Override
	public void draw(Canvas canvas, com.google.android.maps.MapView mapView, boolean shadow) {
		if(shadow == false)
			super.draw(canvas, mapView, shadow);

		if (shadow == false) {
			GeoPoint point;
			Point ptScreenCoord;
			for (int index = 0; index < items.size(); index++) {
				OverlayItem item = items.get(index);

				// Converts lat/lng-Point to coordinates on the screen
				point = (GeoPoint) item.getPoint();
				ptScreenCoord = new Point();
				mapView.getProjection().toPixels(point, ptScreenCoord);

				// show text to the right of the icon
				canvas.drawText(item.getTitle(), ptScreenCoord.x + 25,
						ptScreenCoord.y+textHeight/2, paint);
			}
		}

	}

Now I want that the text is only drawn if there is no overlapping with other markers or text.

Also markers should only be painted if they do not ovelap with other items.

How can I achieve this effect with good performance? I do not want clustering !!!

My first though was to create a rect for each item + text and than check if they do intersect with the others, but I think this could be a bit heavy for the draw method.

