代码之家  ›  专栏  ›  技术社区  ›  Lee Armstrong

套印格式项目不显示标记!

  •  0
  • Lee Armstrong  · 技术社区  · 15 年前

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

    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,该类的代码为

    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文件之后,我还将这个标记设置在这个之外…

     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]
    
    1 回复  |  直到 15 年前
        1
  •  3
  •   CommonsWare    15 年前

    看起来你好像是从 one 我的 many sample Google Map applications . 此处显示的代码不完整(例如,根据此处的代码,从不创建任何 OverlayItem 实例)。

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