首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OverlayItem未显示标记!

OverlayItem未显示标记!
EN

Stack Overflow用户
提问于 2010-07-06 02:54:30
回答 1查看 2K关注 0票数 0

我有以下代码,并且标记根本没有出现在地图上!

代码语言:javascript
复制
private class SitesOverlay extends ItemizedOverlay<pfOverlayItem> {

    private List<pfOverlayItem> items=new ArrayList<pfOverlayItem>();
    //private   PopupPanel panel=new PopupPanel(R.layout.popup);

    public SitesOverlay() {
        super(null);

        items = mainOverlayArray;

        populate();

    }

    @Override
    protected pfOverlayItem createItem(int i) {
        return(items.get(i));
    }

    @Override
    public void draw(Canvas canvas, MapView mapView,
                                        boolean shadow) {
        super.draw(canvas, mapView, shadow);

    }


    @Override
    public int size() {

        return(items.size());

    }



    private Drawable getMarker(int resource) {
        Drawable marker=getResources().getDrawable(resource);

        marker.setBounds(0, 0, marker.getIntrinsicWidth(),
                                            marker.getIntrinsicHeight());
        boundCenter(marker);

        return(marker);
    }
}

mainOverlayArray充满了pfOverlayItem,该类的代码是

代码语言:javascript
复制
public class pfOverlayItem extends OverlayItem {
private String coolText;

public String getcoolText() {
    return coolText;
}

public void setcoolText(String coolText) {
    this.coolText = coolText;
}

public pfOverlayItem(GeoPoint point, String title, String snippet) {
    super(point, title, snippet);
    // TODO Auto-generated constructor stub
}

}

在处理完一个XML文件之后,我还在这个文件之外设置了标记...

代码语言:javascript
复制
 ArrayList<pfOverlayItem> overArray = myXMLHandler.getOverlayArray();
                mainOverlayArray = overArray;
                pfOverlayItem tempOver = null;
                Drawable marker = getResources().getDrawable(R.drawable.icon);
                for (int i = 0; i < mainOverlayArray.size(); i++) {
                    tempOver = mainOverlayArray.get(i);
                    tempOver.setMarker(marker);
                }

                sites=new SitesOverlay();
                myMapView.getOverlays().add(sites);
                myMapView.invalidate(); [/code]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-06 04:08:35

看起来你好像是从one of my many sample Google Map applications开始的。这里显示的代码是不完整的(例如,根据这里的代码,您从未创建过任何OverlayItem实例)。

我的建议是回滚到我上面链接的一个示例,并从那里开始修改,或者开始尝试找出哪些方法被调用,哪些方法没有被调用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3181611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档