OverlayItem's werden nicht dargestellt

U

Unicate

Erfahrenes Mitglied
57
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 defaultMarker, Context 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 = (MapView) findViewById(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<Overlay> items = 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?
 
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:

Ähnliche Themen

SaniMatthias
Antworten
19
Aufrufe
960
swa00
swa00
C
Antworten
1
Aufrufe
862
jogimuc
J
D
Antworten
1
Aufrufe
949
swa00
swa00
Zurück
Oben Unten