用ItemizedOverlay在mapview上的标记弹出泡泡

来源:互联网 发布:西门子s7200编程软件 编辑:程序博客网 时间:2024/05/01 17:49

首先定义一个overlay extends ItemizedOverlay,例如:

 class RestaurantOverlay extends ItemizedOverlay<OverlayItem> {
        private List<OverlayItem> items = new ArrayList<OverlayItem>();
        private Drawable marker = null;

        public RestaurantOverlay(Drawable defaultMarker) {
            super(defaultMarker);
            this.marker = defaultMarker;
        }
//添加OverlayItem对象
        public void addOverlay(OverlayItem overlay) {
            items.add(overlay);
            populate();
        }

        protected boolean isRouteDisplayed() {
            return false;
        }

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

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

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

 

其次,获取要加载overlay的mapview句柄,调用mapview.getOverlays()方法,返回一个List<OverLay>对象。

然后,定义自己的overlay,如:RestaurantOverlay me = new RestaurantOverlay(Drawable对象);

原创粉丝点击