从两个标记获取位置 - onMarkerDragEnd

azo*_*ost 3 android google-maps

我正在创建这样的标记:

            Marker MO =  mMap.addMarker(new MarkerOptions()
                .position(latLng)
                .draggable(true)
                .icon(BitmapDescriptorFactory.fromBitmap(icon))
        );

            Marker M2 =  mMap.addMarker(new MarkerOptions()
                .position(latLng)
                .draggable(true)
                .icon(BitmapDescriptorFactory.fromBitmap(icon2))
        );
Run Code Online (Sandbox Code Playgroud)

我希望在每个拖放时得到它的坐标,但是当使用它时:

             mMap.setOnMarkerDragListener(new OnMarkerDragListener() {

            @Override
            public void onMarkerDragStart(Marker M0) {  }

            @Override
            public void onMarkerDragEnd(Marker M0) {

                LatLng pos = M0.getPosition();


                TextView err = (TextView)findViewById(R.id.text1);
                err.setText("M0" + pos.latitude + "," + pos.longitude);

            }

            @Override
            public void onMarkerDrag(Marker M0) {     }

        });



        mMap.setOnMarkerDragListener(new OnMarkerDragListener() {

            @Override
            public void onMarkerDragStart(Marker M2) {  }

            @Override
            public void onMarkerDragEnd(Marker M2) {

                LatLng pos2 = M2.getPosition();


                TextView err2 = (TextView)findViewById(R.id.text2);
                err2.setText("M2" + pos2.latitude + "," + pos2.longitude);
            }

            @Override
            public void onMarkerDrag(Marker M2) {     }
        });
Run Code Online (Sandbox Code Playgroud)

我可以从两个标记中获取坐标,但是M0的坐标附加到M2"文本".我认为问题在于创建标记,因为Android Studio表示从不使用M0和M2变量.此外,我不确定是否使用mMap.setOnMarkerDragListener(新的OnMarkerDragListener(){两次是帮助.我怎么能解决这个问题?

谢谢.

tyc*_*czj 5

OnMarkerDragListener是所有可拖动的标记而不是单个标记,因此声明2个具有不同名称的侦听器不会执行任何操作.

你需要做的是要么守住标记,当你创建它们,然后看如果您拖动标记是m0m2,或者您可以检查标记ID的,看看它是一个什么