/** * Copyright 2009 Joe LaPenna */ package com.joelapenna.foursquared.maps; import com.google.android.maps.GeoPoint; import com.google.android.maps.MapView; import com.google.android.maps.OverlayItem; import com.joelapenna.foursquare.types.Tip; import com.joelapenna.foursquared.FoursquaredSettings; import android.graphics.drawable.Drawable; import android.util.Log; /** * @author Joe LaPenna (joe@joelapenna.com) */ public class TipItemizedOverlay extends BaseGroupItemizedOverlay<Tip> { public static final String TAG = "TipItemizedOverlay"; public static final boolean DEBUG = FoursquaredSettings.DEBUG; public TipItemizedOverlay(Drawable defaultMarker) { super(defaultMarker); } @Override protected OverlayItem createItem(int i) { Tip tip = (Tip)group.get(i); if (DEBUG) Log.d(TAG, "creating tip overlayItem: " + tip.getVenue().getName()); int lat = (int)(Double.parseDouble(tip.getVenue().getGeolat()) * 1E6); int lng = (int)(Double.parseDouble(tip.getVenue().getGeolong()) * 1E6); GeoPoint point = new GeoPoint(lat, lng); return new TipOverlayItem(point, tip); } @Override public boolean onTap(GeoPoint p, MapView mapView) { if (DEBUG) Log.d(TAG, "onTap: " + p); mapView.getController().animateTo(p); return super.onTap(p, mapView); } public static class TipOverlayItem extends OverlayItem { private Tip mTip; public TipOverlayItem(GeoPoint point, Tip tip) { super(point, tip.getVenue().getName(), tip.getVenue().getAddress()); mTip = tip; } public Tip getTip() { return mTip; } } }