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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM