protected void onDrawItem( final Canvas canvas, final int zoomLevel, final Item item, final Point curScreenCoords) { MaskableOverlayItem maskableItem = item; if (maskableItem.isHidden()) { return; } final Station station = (Station) item.getRelatedObject(); final boolean zoomLevelDetailled = OverlayZoomUtils.isDetailledZoomLevel(zoomLevel); final Drawable marker = getDefaultMarker(zoomLevelDetailled, station.isStarred()); boundToHotspot(marker, HotspotPlace.BOTTOM_CENTER); Overlay.drawAt(canvas, marker, curScreenCoords.x, curScreenCoords.y, false, 0); if (zoomLevelDetailled) { mTitlePaint.setColor( getResourceProxy().getColor(ColorSelector.getColorForMap(station.getBikes()))); canvas.drawText( station.getBikesAsString(), mCurScreenCoords.x - (8 * mScale), mCurScreenCoords.y - (26 * mScale), mTitlePaint); mTitlePaint.setColor( getResourceProxy().getColor(ColorSelector.getColorForMap(station.getAttachs()))); canvas.drawText( station.getAttachsAsString(), mCurScreenCoords.x - (8 * mScale), mCurScreenCoords.y - (13 * mScale), mTitlePaint); } }
public Drawable getMarker(int zoomLevel) { Log.d(TAG, "getMarker"); if (OverlayZoomUtils.isDetailledZoomLevel(zoomLevel)) { return mMarkerDetails; } return mMarkerPin; }
protected boolean hitTest( final int zoomLevel, Item item, Drawable marker, final int hitX, final int hitY) { Log.d(TAG, "hitTest"); if (OverlayZoomUtils.isDetailledZoomLevel(zoomLevel)) { marker = mMarkerDetails; } else { marker = mMarkerPin; } return marker.getBounds().contains(hitX, hitY); }