我正在-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
答案 0 :(得分:0)
当移动标记时,我希望centerMarker.position和backTeeMarker.position将由googleMap自动更新,因为它是在新位置绘制的,因此必须了解它的新位置。但是事实并非如此。
似乎它更新了onMarkerDragListener
中移动的“标记”位置,但从未将其转换为命名的标记对象的位置。因此,要使用markerMoved()
方法手动更新它,请在移动给定标记(例如centerMarker)时添加以下行:
centerMarker.position(marker.getPosition())
。