2013-05-13 111 views
0

我的問題可能很容易sinse我是android begginer。爲什麼getOverlays()未定義爲MapView?

我正在關注的Tutorial

,並創建映射活動的第一部分已經取得成功。 但現在我試圖添加一個覆蓋項目。問題出在我的.java代碼中:

List<Overlay> mapOverlays = mapView.getOverlays(); 

此行在所有教程中都有介紹。但是我得到如下錯誤消息:'方法getOverlays()未定義爲類型MapView'。 任何人都可以幫我解決它嗎?

代碼:

package com.example.mapsdemo; 
    import java.util.List; 
    import com.google.android.gms.maps.MapView; 
    import com.google.android.maps.GeoPoint; 
    import com.google.android.maps.Overlay; 
    import com.google.android.maps.OverlayItem; 
    import android.app.Activity; 
    import android.graphics.drawable.Drawable; 
    import android.os.Bundle; 

    public class MainActivity extends Activity { 

private MapView mapView; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    List<Overlay> mapOverlays = mapView.getOverlays(); 
    Drawable drawable = this.getResources().getDrawable(R.drawable.marker); 
    HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable, this); 

    GeoPoint point = new GeoPoint(19240000,-99120000); 
    OverlayItem overlayitem = new OverlayItem(point, "Hola, Mundo!", "I'm in Mexico City!"); 

    itemizedoverlay.addOverlay(overlayitem); 
    mapOverlays.add(itemizedoverlay); 

    } 
} 

第二類是在這裏:

public class HelloItemizedOverlay extends ItemizedOverlay { 

private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>(); 
public Context mContext ; 

public HelloItemizedOverlay(Drawable defaultMarker) { 
     super(boundCenterBottom(defaultMarker)); 
    } 

public HelloItemizedOverlay(Drawable defaultMarker, Context context) { 
     super(boundCenterBottom(defaultMarker)); 
     mContext = context; 
    } 

public void addOverlay(OverlayItem overlay) { 
    mOverlays.add(overlay); 
    populate(); 
} 

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

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

@Override 
protected boolean onTap(int index) { 
    OverlayItem item = mOverlays.get(index); 
    AlertDialog.Builder dialog = new AlertDialog.Builder(mContext); 
    dialog.setTitle(item.getTitle()); 
    dialog.setMessage(item.getSnippet()); 
    dialog.show(); 
    return true; 
} 

} 

感謝您的幫助!

+0

我不知道。 – 2013-05-13 09:07:59

回答