我正在创建这样的标记:
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(){两次帮助。我该如何解决这个问题?
感谢。
答案 0 :(得分:5)
OnMarkerDragListener
适用于所有可拖动的标记而不是单个标记,因此声明2个具有不同名称的侦听器不执行任何操作。
您需要做的是在创建标记时按住标记,然后查看您拖动的标记是m0
还是m2
,还是可以检查标记ID以查看标记它是