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.不说了。干!

原文地址:https://www.cnblogs.com/lixiaodaoaaa/p/4553897.html