1. In regards to recently combined carrier specific root forums, if your device forum was affected, please see this poll/thread!

Google Maps displays grey tiles when drawing geopoints


  1. lhovden

    lhovden New Member

    I'm trying to create an app to plot our mountain bike trails on a Google map. I've got the Google map part working. However, once I try to plot a couple of geopoints and connect them it does displays the geopoints and connects them, but the Google map stops displaying. Only grey tiles show. Here is my code before I plot the points which works. import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.graphics.Paint.Style;
    import android.graphics.Point;
    import android.os.Bundle;

    import com.google.android.maps.GeoPoint;
    import com.google.android.maps.MapActivity;
    import com.google.android.maps.MapController;
    import com.google.android.maps.MapView;
    import com.google.android.maps.Projection;

    public class DPHTmaps extends MapActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    MapController mMapController;
    MapView mapView = (MapView) findViewById(R.id.mapview);
    mapView.setBuiltInZoomControls(true);
    mMapController = mapView.getController();
    mMapController.setZoom(18);
    }

    @Override
    protected boolean isRouteDisplayed() {
    return false;
    }
    }
    Then I change my code to this to plot and connect a couple of geopoint and it turns map tiles grey.
    import java.util.List;
    import android.graphics.drawable.Drawable;
    import android.os.Bundle;
    import com.google.android.maps.GeoPoint;
    import com.google.android.maps.MapActivity;
    import com.google.android.maps.MapController;
    import com.google.android.maps.MapView;
    import com.google.android.maps.Overlay;
    import com.google.android.maps.OverlayItem;

    public class DPHTmaps extends MapActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    MapController mMapController;
    MapView mapView = (MapView) findViewById(R.id.mapview);
    mapView.setBuiltInZoomControls(true);
    mMapController = mapView.getController();
    mMapController.setZoom(18);
    // Two points in Backside trail
    GeoPoint point1 = new GeoPoint(-91777756,43311836);
    GeoPoint point2 = new GeoPoint(-91777627,43311718);
    mMapController.setCenter(point2);
    // Pass the geopoints to the overlay class
    MapOverlay mapOvlay = new MapOverlay(point1, point2);
    mapView.getOverlays().add(mapOvlay);
    }

    public class MapOverlay extends com.google.android.maps.Overlay {
    private GeoPoint mGpt1;
    private GeoPoint mGpt2;
    protected MapOverlay(GeoPoint gp1, GeoPoint gp2 ) {
    mGpt1 = gp1;
    mGpt2 = gp2;
    }
    @Override
    public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when) {
    super.draw(canvas, mapView, shadow);
    Paint paint;
    paint = new Paint();
    paint.setColor(Color.RED);
    paint.setAntiAlias(true);
    paint.setStyle(Style.STROKE);
    paint.setStrokeWidth(2);
    Point pt1 = new Point();
    Point pt2 = new Point();
    Projection projection = mapView.getProjection();
    projection.toPixels(mGpt1, pt1);
    projection.toPixels(mGpt2, pt2);
    canvas.drawLine(pt1.x, pt1.y, pt2.x, pt2.y, paint);
    return true;
    }
    }
    @Override
    protected boolean isRouteDisplayed() {
    // TODO Auto-generated method stub
    return false;
    }

    Thanks for the help!

    Advertisement

Share This Page