zoukankan      html  css  js  c++  java
  • 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.不说了。干!

  • 相关阅读:
    C++ 在dynamic_cast&lt;&gt;用法
    Solr入门指南
    Android学习4、Android该Adapter
    在这些形式的验证码
    智课雅思词汇---四、clos和cap和ced是什么意思
    js插件---强大的图片裁剪Cropper
    Uncaught DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported
    js插件---图片裁剪photoClip
    base64格式的图片数据如何转成图片
    smarty课程---最最最简单的smarty例子
  • 原文地址:https://www.cnblogs.com/lixiaodaoaaa/p/4553897.html
Copyright © 2011-2022 走看看