2012-03-12 17 views
3

タイプのために定義されていません:osmdroid ItemizedOverlayエラー:メソッドboundCenterBottom(Drawableのは)私はこの問題に今、いくつかの時間のために苦労しています

私は仕事に私の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-アンドロイド-3.0.8および3.0.7を使用しています。 デッドのItemizedOverlayはコンストラクタを持っていないようですが、私がグーグルできるサンプルはすべて同じパターンに従っています...

+0

回避策をinsteed: // \t \t \tスーパー(boundCenterBottom(defaultMarker))とboundCenterBottomの行を置き換えます。 \t \t \t super(defaultMarker、new ResourceProxyImpl(getApplicationContext())); - 欠落しているメソッドを使用しないでください。 –

答えて

2

私の質問に対する答えは、このメソッドはosmdroidでは実装されていないようですそして、:

item.setMarkerHotspot(HotspotPlace.BOTTOM_CENTER); 

使用する必要がありますが

+0

親愛なるSzymon。 HelloGoogleMapsの例をOSMdroidで動作させようとした後も、あなたにはかなり似たコードがあります。あなたと同じエラーメッセージが表示され、その行が置き換えられました。 \t \t super(boundCenterBottom(defaultMarker)); はあなたが提案したものの、「アイテムは解決できません」と暗黙のスーパーコンストラクターItemizedOverlay ()が定義されていません "別のコンストラクターを明示的に呼び出さなければなりません"ここでsetMarkerHotspotメソッドをどのくらい正確に使用しますか? – birgit

+0

@birgit:yourPOIOverlayItem.setMarker(boundCenterBottom(yourMarker));を 'yourPOIOverlayItem.setMarkerHotspot(HotspotPlace.BOTTOM_CENTER);に置き換えなければならないと思います。 yourPOIOverlayItem.setMarker(yourMarker); ' –

関連する問題