1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

OverlayItem's werden nicht dargestellt

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Unicate, 07.10.2010.

  1. Unicate, 07.10.2010 #1
    Unicate

    Unicate Threadstarter Android-Experte

    Beiträge:
    473
    Erhaltene Danke:
    57
    Registriert seit:
    09.08.2010
    Hi alle zusammen!

    Ich habe mich mal an dem Tutorial versucht.
    Ich bekomme es einfach nicht hin, das dieser Androide auf der Map mit dargestellt wird.

    Hier mal der Code:
    Die ItemizedOverlay<OverlayItem>:
    PHP:
    package de.unicate.android.maptest;

    import java.util.ArrayList;

    import android.app.AlertDialog;
    import android.content.Context;
    import android.graphics.drawable.Drawable;

    import com.google.android.maps.ItemizedOverlay;
    import com.google.android.maps.OverlayItem;

    public class 
    MyOverlayCollection extends ItemizedOverlay<OverlayItem> {

        private 
    ArrayList<OverlayItem_overlays = new ArrayList<OverlayItem>();
        private 
    Context _context;

        public 
    MyOverlayCollection(Drawable defaultMarkerContext context) {
            
    super(defaultMarker);
            
    _context context;
        }

        @
    Override
        
    protected OverlayItem createItem(int i) {
            return 
    _overlays.get(i);
        }

        @
    Override
        
    public int size() {
            return 
    _overlays.size();
        }

        public 
    void addOverlay(OverlayItem item) {
            
    _overlays.add(item);
            
    populate();
        }

        @
    Override
        
    protected boolean onTap(int index) {
            
    OverlayItem item _overlays.get(index);
            
    AlertDialog.Builder dialog = new AlertDialog.Builder(_context);
            
    dialog.setTitle(item.getTitle());
            
    dialog.setMessage(item.getSnippet());
            
    dialog.show();
            return 
    true;
        }
        
    }
    Und hier meine MapActivity:

    PHP:
    package de.unicate.android.maptest;

    import java.util.List;

    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 
    MapTestActivity extends MapActivity {
        
    /** Called when the activity is first created. */
        
    @Override
        
    public void onCreate(Bundle savedInstanceState) {
            
    super.onCreate(savedInstanceState);
            
    setContentView(R.layout.main);
            
    MapView mapView = (MapViewfindViewById(R.id.mapview);
            
    mapView.setBuiltInZoomControls(true);
            
    GeoPoint geoPoint = new GeoPoint(51081597,13748922);
            
    mapView.setSatellite(false);
            
    MapController myMC mapView.getController();
            
    myMC.setCenter(geoPoint);
            
    myMC.setZoom(10);

            
            List<
    Overlayitems mapView.getOverlays();
            
    MyOverlayCollection stations = new MyOverlayCollection(getResources().getDrawable(R.drawable.androidmarker), this);
            
    OverlayItem overlayitem = new OverlayItem(geoPoint"Hallo, Dresden!""Hier ist Dresden");
            
    stations.addOverlay(overlayitem);        
            
    items.add(stations);        
        }
        @
    Override
        
    protected boolean isRouteDisplayed() {
            return 
    false;
        }
    }
    Die Map ansich wird angezeigt, aber der Marker nicht.
    Dabei ist das Tutorial fast 1:1 kopiert.
    Was mach ich falsch?
     
  2. FelixL, 09.10.2010 #2
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
    Kannst du ein Logcat posten? Vielleicht taucht da ne Fehlerbeschreibung auf.

    Edit: versuch es doch einfach mal mit
    public class MyOverlayCollection implements ItemizedOverlay<OverlayItem> {
    statt
    public class MyOverlayCollection extends ItemizedOverlay<OverlayItem> {
     
    Zuletzt bearbeitet: 09.10.2010

Diese Seite empfehlen