【问题标题】:google maps api markers zoom works in only 1 listener谷歌地图 api 标记缩放仅适用于 1 个侦听器
【发布时间】:2017-05-12 15:03:04
【问题描述】:

我试图缩小我所做的任何标记,为此我做了一个方法,我用他们自己的setOnMarkerClickListener 创建所有标记,问题是当我运行应用程序时它只缩放到迈阿密但不是对其他人,我不知道我错过了什么

private float zoomLevel = 15;

public void Veterinarias (GoogleMap googleMap){
        rMap = googleMap;


       final LatLng bvillia = new LatLng(-31.4223465,-64.1829377);
       final LatLng shangai = new LatLng(31.2071315,121.2287258);
        final LatLng miami = new LatLng(25.7959734,-80.3209081);

        rMap.addMarker(new MarkerOptions().position(bvillia).title("Bv arturo illia"));
        rMap.addMarker(new MarkerOptions().position(shangai).title("Shangai"));
        rMap.addMarker(new MarkerOptions().position(miami).title("Miami"));

        rMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
            @Override
            public boolean onMarkerClick(Marker marker) {
                String name= marker.getTitle();

                if(name.equalsIgnoreCase("Bv arturo illia")){

                    rMap.moveCamera(CameraUpdateFactory.newLatLngZoom(bvillia, zoomLevel));


                }

                return false;
            }
        });


        rMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
            @Override
            public boolean onMarkerClick(Marker marker) {
                String name= marker.getTitle();

                if(name.equalsIgnoreCase("Shangai")){

                    rMap.moveCamera(CameraUpdateFactory.newLatLngZoom(shangai, zoomLevel));


                }


                return false;
            }
        });

        rMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
            @Override
            public boolean onMarkerClick(Marker marker) {
                String name= marker.getTitle();

                if(name.equalsIgnoreCase("Miami")){

                    rMap.moveCamera(CameraUpdateFactory.newLatLngZoom(miami, zoomLevel));


                }



                return false;
            }
        });



    }




}

pd:有没有一种方法可以渐进式放大而不是一次放大?

【问题讨论】:

    标签: android google-maps markers


    【解决方案1】:

    标记侦听器在地图上设置,因此您只需用您设置的最后一个侦听器覆盖以前的侦听器。如果您将条件全部移至一个侦听器,它应该可以正常工作。

    rMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
            @Override
            public boolean onMarkerClick(Marker marker) {
                String name= marker.getTitle();
    
                if(name.equalsIgnoreCase("Bv arturo illia")){
                    rMap.moveCamera(CameraUpdateFactory.newLatLngZoom(bvillia, zoomLevel));
    
                }else if(name.equalsIgnoreCase("Shangai")){
                    rMap.moveCamera(CameraUpdateFactory.newLatLngZoom(shangai, zoomLevel));
    
                }else if(name.equalsIgnoreCase("Miami")){
                    rMap.moveCamera(CameraUpdateFactory.newLatLngZoom(miami, zoomLevel));
                }
    
                return false;
            }
        });
    

    【讨论】:

    • 你说得对,我的举动太糟糕了哈哈哈甚至都没注意到
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    • 1970-01-01
    • 1970-01-01
    • 2012-12-13
    • 2014-07-10
    • 1970-01-01
    • 2019-02-09
    相关资源
    最近更新 更多