baiduMap 显示所有的marker(在视野里显示所有的)

搞Android的,所以比较幸苦和累现在搞的app是关于百度地图的,因为要求要把所有覆盖物显示在一个视野。。。所以在网上找了很久,终于找打了方法

我引用的包是:

记录一下,其实不算很难。一个小点。翻了不少资料终于搞好了。

看代码:

 

public void addTasksToBaiduMapAsMarker(final JsonArray taskJsionArray){

        baiduMap.clear();

        listOverlayOptions.clear();

        addJsonArrayToListOverlayOptions(listOverlayOptions,taskJsionArray);

        final OverlayManager overlayManager  =new  OverlayManager(baiduMap){

            @Override

            public List getOverlayOptions() {

                return listOverlayOptions;

            }

            @Override

            public boolean onMarkerClick(Marker marker) {

                LatLng latLng = marker.getPosition();

                InfoWindow currentInfoWindow = new InfoWindow(getInfoWindoView(marker), latLng, -77);

                baiduMap.showInfoWindow(currentInfoWindow);

                return true;

            }

        };

        overlayManager.addToMap();

        overlayManager.zoomToSpan();

    }

 

 1    private  void addJsonArrayToListOverlayOptions( List<OverlayOptions> listOverlayOptions,JsonArray taskJsionArray ){

 2         int arraySize = taskJsionArray.size();

 3         for(int i=0;i<arraySize;i++){

 4             JsonObject taskJson = taskJsionArray.get(i).getAsJsonObject();

 5             double taskLatitude = JsonUtil.jsonElementToDouble(taskJson.get("latitude"));

 6             double taskLonitude = JsonUtil.jsonElementToDouble(taskJson.get("longitude"));

 7             final String strTitle = JsonUtil.jsonElementToString(taskJson.get("title"));

 8             final String strDetailLocation = JsonUtil.jsonElementToString(taskJson.get("subject"));

 9             if (taskLatitude == 0) {

10                 return;

11             }

12             LatLng currentLatLng = new LatLng(taskLatitude, taskLonitude);

13             Bundle bundle = new Bundle();

14             bundle.putString("taskJson", taskJson.toString());

15             OverlayOptions ooA = new MarkerOptions().position(currentLatLng).icon(getBitmapDescriptor()).zIndex(9).draggable(true).extraInfo(bundle);

16             listOverlayOptions.add(ooA);

17         }

18     }
View Code

 

用的就是OverlayManager.zoomToSpan()显示在视野中。 不算很难。 

 

private List<OverlayOptions> listOverlayOptions = null;就是一个List.不说了。干!

你可能感兴趣的:(baidu)