从两个标记获取位置 - onMarkerDragEnd

时间:2014-02-26 01:19:00

标签: 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))
        );

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

             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) {     }
        });

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

感谢。

1 个答案:

答案 0 :(得分:5)

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

您需要做的是在创建标记时按住标记,然后查看您拖动的标记是m0还是m2,还是可以检查标记ID以查看标记它是