android百度地图3.0多个覆盖物同时显示在地图上?

    /**
     * 通过坐标集合,显示并缩放到所有点
     * @param mPoints
     * @param mBaiDuMap
     */
    public static void LocationAll(Map<Integer,MPoint> mPoints, final BaiduMap mBaiDuMap){

        final List<OverlayOptions> overlayOptions = new ArrayList<OverlayOptions>();
         //管理多个覆盖物
        final OverlayManager overlayManager = new OverlayManager(mBaiDuMap) {
            @Override
            public List<OverlayOptions> getOverlayOptions() {
                return overlayOptions;
            }

            @Override
            public boolean onMarkerClick(Marker marker) {
                return true;
            }

            @Override
            public boolean onPolylineClick(Polyline polyline) {
                return true;
            }
        };

        if(mPoints != null && mBaiDuMap != null) {

           mBaiDuMap.clear();
            Collection<MPoint> pointCollection = mPoints.values();

            for (MPoint point : pointCollection) {

                double mLatitude = point.getLatitude();
                double mLongitude = point.getLongitude();

                LatLng mPoint = new LatLng(mLatitude, mLongitude);

                MarkerOptions oA = new MarkerOptions().position(mPoint).icon(bdA);
                overlayOptions.add(oA);      

            }


            overlayManager.addToMap();
            overlayManager.zoomToSpan(); //仅对mark起作用



        }



    }

这是我写的代码,为什么手机上显示不出全部的覆盖物,要手动放大才能显示

使用OverlayManager类中的

** zoomToSpan();**//缩放地图,使所有overlay都在合适的视野内。**该方法只对Marker类型的overlay有效**
方法。

你需要重写PoiOverlay继承与OverlayManager。实现里面的方法。
然后调用zoomToSpan()即可。

参考:http://blog.csdn.net/crazy1235/article/details/44002459

 class MyPoiOverlay extends PoiOverlay {
        public MyPoiOverlay(BaiduMap arg0) {
            super(arg0);
        }
        @Override
        public boolean onPoiClick(int arg0) {
            super.onPoiClick(arg0);
            return true;
        }
    }
  MyPoiOverlay poiOverlay = new MyPoiOverlay(bdMap);  
  poiOverlay.setData(poiResult);// 设置POI数据  
  bdMap.setOnMarkerClickListener(poiOverlay);  
  poiOverlay.addToMap();// 将所有的overlay添加到地图上   
  poiOverlay.zoomToSpan();