Ошибка osmdroid ItemizedOverlay: методboundCenterBottom(Drawable) не определен для типа

Я уже несколько часов борюсь с этой проблемой:

Я пытаюсь заставить мой детальный оверлей работать, но я продолжаю получать эту ошибку:

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 на самом деле, похоже, не имеет такого конструктора, но ВСЕ образцы, которые я смог найти в Google, следовали одному и тому же шаблону...


person Szymon Łazaruk    schedule 12.03.2012    source источник
comment
обходной путь: заменить строку с boundCenterBottom на // super(boundCenterBottom(defaultMarker)); супер(маркер по умолчанию, новый ResourceProxyImpl(getApplicationContext())); - просто не используйте отсутствующий метод.   -  person Szymon Łazaruk    schedule 12.03.2012


Ответы (1)


хорошо, кажется, что ответ на мой вопрос заключается в том, что этот метод не реализован в osmdroid и:

item.setMarkerHotspot(HotspotPlace.BOTTOM_CENTER);

следует использовать вместо

person Szymon Łazaruk    schedule 11.05.2012
comment
Уважаемый Шимон. У меня есть код, очень похожий на ваш, после попытки заставить пример HelloGoogleMaps работать с OSMdroid. Я получил то же сообщение об ошибке, что и вы, и заменил строку super(boundCenterBottom(defaultMarker)); с тем, что вы предложили, но он вызывает элемент ошибки, который не может быть разрешен, а неявный суперконструктор ItemizedOverlay‹OverlayItem›() не определен. Должен явно вызываться другой конструктор. Как именно использовать здесь метод setMarkerHotspot? - person birgit; 11.10.2012
comment
@birgit: я думаю, вам нужно заменить yourPOIOverlayItem.setMarker(boundCenterBottom(yourMarker)); на yourPOIOverlayItem.setMarkerHotspot(HotspotPlace.BOTTOM_CENTER); yourPOIOverlayItem.setMarker(yourMarker); - person Fabien R; 20.10.2012