2012-03-12 40 views
3

我現在這個問題掙扎了幾個小時類型:osmdroid ItemizedOverlay錯誤:該方法boundCenterBottom(可繪製)是未定義

我試圖讓我的itemizedoverlay工作,但我不斷收到這錯誤:

The method boundCenterBottom(Drawable) is undefined for the type 

我的課:

public MyDynamicItemizedOverlay(Drawable defaultMarker) { 
     super(boundCenterBottom(defaultMarker)); 

     items = new ArrayList<OverlayItem>(); 
     populate(); 

    } 

    public void addNewItem(GeoPoint location, String markerText, 
      String snippet) { 
     items.add(new OverlayItem(snippet, markerText, location)); 
     populate(); 
    } 

    public void removeItem(int index) { 
     items.remove(index); 
     populate(); 
    } 

    @Override 
    protected OverlayItem createItem(int index) { 
     return items.get(index); 
    } 

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

    @Override 
    public boolean onSnapToItem(int arg0, int arg1, Point arg2, 
      IMapView arg3) { 
     // TODO Auto-generated method stub 
     return false; 
    } 

} 

我使用osmdroid-Android的3.0.8和3.0.7(都嘗試)。 ItemizedOverlay在行動上似乎沒有這樣的構造,但所有的樣品我能谷歌的遵循同樣的模式...

+0

解決方法:與 // \t \t \t超級(boundCenterBottom(defaultMarker))替換boundCenterBottom行; \t \t \t super(defaultMarker,new ResourceProxyImpl(getApplicationContext())); - 根本不使用缺少的方法.. – 2012-03-12 14:14:54

回答

2

OK,它似乎就這麼回答我的問題是,這種方法不osmdroid實施和:

item.setMarkerHotspot(HotspotPlace.BOTTOM_CENTER); 

應使用insteed

+0

親愛的Szymon。嘗試使HelloGoogleMaps示例與OSMdroid一起工作後,我的代碼與您的代碼很相似。我得到了和你一樣的錯誤信息,並且替換了行 \t \t super(boundCenterBottom(defaultMarker)); 與你的建議,但它引發錯誤「項目無法解決」和「隱式超級構造函數ItemizedOverlay ()是未定義的。必須顯式調用另一個構造函數」在這裏使用setMarkerHotspot方法到底如何? – birgit 2012-10-11 12:59:53

+0

@birgit:我認爲你必須用'yourPOIOverlayItem.setMarkerHotspot(HotspotPlace.BOTTOM_CENTER)'替換'yourPOIOverlayItem.setMarker(boundCenterBottom(yourMarker));'。 yourPOIOverlayItem.setMarker(yourMarker);' – 2012-10-20 13:37:26

相關問題