googleMap onMarkerDrag不更新标记的.getPosition()Android Java

时间:2019-01-21 19:56:49

标签: java android android-fragments google-maps-markers google-maps-android-api-2

我正在-performSelector:的三个polyLines之间绘制markers,其中两个是可移动的。我已将GoogleMap实施为onMarkerDragListener。仅移动一个标记“似乎”即可正常工作,直到我也移动第二个标记。如果我移动第二个标记,则polyLine从我要移动的第二个标记绘制到第一个标记的原始位置,而不是更新的位置,这告诉我fragment在标记为感动。如何确保在拖动过程中更新xMarker的位置?

我尝试将其设置为该片段的类级别的实现,并且在创建映射后也尝试了该操作,如下所示:

xMarker.getPosition()

这是我的代码(当前使用googleMap.setOnMarkerDragListener(new GoogleMap.OnMarkerDragListener() { @Override public void onMarkerDragStart(Marker marker) { } @Override public void onMarkerDrag(Marker marker) { } @Override public void onMarkerDragEnd(Marker marker) { } }); ):

implements GoogleMap.OnMarkerListener

1 个答案:

答案 0 :(得分:0)

当移动标记时,我希望centerMarker.position和backTeeMarker.position将由googleMap自动更新,因为它是在新位置绘制的,因此必须了解它的新位置。但是事实并非如此。

似乎它更新了onMarkerDragListener中移动的“标记”位置,但从未将其转换为命名的标记对象的位置。因此,要使用markerMoved()方法手动更新它,请在移动给定标记(例如centerMarker)时添加以下行: centerMarker.position(marker.getPosition())