2010-02-16 61 views
0

當我要集成疊加層時,在MapView教程之後出現了一些錯誤。疊加層無法在Google MapView教程中使用Android

TravelBuddy.java

package com.jappapps.android.travelbuddy; 
import java.util.List; 

import android.graphics.drawable.Drawable; 
import android.os.Bundle; 

import com.google.android.maps.MapActivity; 
import com.google.android.maps.MapView; 
import com.google.android.maps.Overlay; 

public class TravelBuddy extends MapActivity { 
List<Overlay> mapOverlays; 
Drawable drawable; 
Overlays itemizedOverlay; 
/** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); // changed to lowercase 
     MapView mapView = (MapView) findViewById(R.id.mapview); // match id in main.xml 
     mapView.setBuiltInZoomControls(true); 
     mapOverlays = mapView.getOverlays(); 
     drawable = this.getResources().getDrawable(R.drawable.androidmarker); 
     itemizedOverlay = new Overlays(drawable); 
    } 

    @Override 
    protected boolean isRouteDisplayed() { 
     return false; 
    } 
    } 

Overlays.java

package com.jappapps.android.travelbuddy; 

import java.util.ArrayList; 

import android.graphics.drawable.Drawable; 

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

public class Overlays extends ItemizedOverlay { 
public Overlays(Drawable arg0) { 
    super(arg0); 
    Object overlayitem; 
    ItemizedOverlay.addOverlay(overlayitem); 
    Object itemizedoverlay; 
    ArrayList<OverlayItem> mapOverlays; 
    mapoverlays.add(itemizedOverlay); 
} 
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>(); 
super(boundCenterBottom(defaultMarker)); 
public void addOverlay(OverlayItem overlay) { 
    mOverlays.add(overlay); 
    populate();} 
    @Override 
    protected OverlayItem createItem(int i) { 
     return mOverlays.get(i); 

    } 
    @Override 
    public int size() { 
     return 0; 
    } 
    } 

很抱歉,如果我看起來像一個完整的新手,但我想學習,我得到了它需要的MapView一個真棒應用程序的想法, webview,疊加和標籤。

+0

你的問題是什麼? – Janusz

+0

也許這只是一個複製錯誤,但超級(boundCenterBottom(defaultMarker));超出了任何功能的範圍。它顯然應該在構造函數中。 –

回答

1

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

1

我從「官方」google mapview教程中使用androidmarker.png,並被疊加顯示出來。我嘗試了其他幾個人的工作示例,但仍然是同樣的問題。我換了一個更小的PNG androidmarker.png,它的工作。所以代碼很好,但與標記資產有關。

相關問題