Hi all, Good evening,
I have an application where I display overlays on a map. I have a class that consumes a webservice that I created myself that does the following: - Connects to the database and returns the Latitude and Longitude of Overlays. So far so good, have brought the data correctly, but when I go to create the overlays, I call the position of the list that the Overlay is, but do not know where the food list. See the code: package org.ci.geo.route; import java.util.ArrayList; import java.util.List; import com.google.android.maps.GeoPoint; import com.google.android.maps.ItemizedOverlay; import com.google.android.maps.MapView; import com.google.android.maps.OverlayItem; import android.graphics.Point; import android.graphics.Canvas; import android.graphics.RectF; import android.graphics.drawable.Drawable; import android.widget.Toast; public class HutsItemizedOverlay extends ItemizedOverlay<OverlayItem> { Conexao conn = new Conexao(); List<Double> lat = new ArrayList<Double>();//reported here are the lists List<Double> lon = new ArrayList<Double>(); public HutsItemizedOverlay(Drawable defaultMarker) { super(defaultMarker); //If I feed this list constructor, does not work. boundCenterBottom(defaultMarker); //The compiler accepts, but the application hangs populate(); } @Override public GeoPoint getCenter() { Integer averageLat = 0; Integer averageLon = 0; for (GeoPoint point : hutPoints) { averageLat += point.getLatitudeE6(); averageLon += point.getLongitudeE6(); } averageLat /= hutPoints.length; averageLon /= hutPoints.length; return new GeoPoint(averageLat, averageLon); } @Override public void draw(Canvas canvas, MapView mapView, boolean shadow) { super.draw(canvas, mapView, false); } public GeoPoint hutPoints[] = new GeoPoint[] { new GeoPoint((int) (lat.get(0) * 1E6), (int) (lon.get(0) * 1E6)),//aqui eu consumo a lista, mas ela ainda não está alimentada //new GeoPoint(-25447305,-49307184), }; @Override protected OverlayItem createItem(int i) { OverlayItem item = new OverlayItem(hutPoints[i], "Nome do Local", "Promocao - Detalhe"); return item; } @Override public int size() { return hutPoints.length; } public boolean onTap(GeoPoint geoPoint, MapView mapView) { OverlayItem item = this.createItem(1); Point point = mapView.getProjection().toPixels(geoPoint, null); RectF rectF = new RectF(point.x - 5, point.y - 5, point.x + 5, point.y + 5); boolean pontoClicado = rectF.contains(point.x, point.y); if (pontoClicado) { Toast.makeText( mapView.getContext(), "Você clicou aqui: " + item.getTitle() + "Acesse " + item.getSnippet(), Toast.LENGTH_LONG).show(); return true; } return super.onTap(geoPoint, mapView); } } -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en