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

  • 相关阅读:
    31. Ubuntu15.04系统中如何启用、禁用客人会话
    dpkg安装deb缺少依赖包的解决方法
    C语言宏中"#"和"##"的用法
    编译android6.0错误recipe for target 'out/host/linux-x86/obj/lib/libart.so' failed
    Android api level对照表
    Android 如何判断CPU是32位还是64位
    vim map nmap(转)
    vim配置及插件安装管理(超级详细)
    Java多线程总结(二)锁、线程池
    Python快速教程目录(转)
  • 原文地址:https://www.cnblogs.com/lixiaodaoaaa/p/4553897.html
Copyright © 2011-2022 走看看