创建后,将Google Maps API V2标记draggable属性设置为false?

时间:2014-11-10 01:07:23

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

所以我创建了一个标记并使其可拖动。它运作良好。我想在编辑标记模式下才能使它成为现实。我的问题是,当我不处于编辑模式时,我无法将其关闭。我已经通过执行marker.setDraggable(false)尝试了setOnMarkerClickListener,但只有当用户先点击标记然后尝试拖动它时才有效,我尝试在onMarkerDragStart部分执行此操作,但仅在拖动标记一次后才能使用由于标记不可拖动,因此即使在编辑模式下也不会返回该部分以将其重新打开。我需要一种方法来在不处于编辑模式时将所有标记可拖动性设置为false,在编辑模式下设置为true。任何帮助都会非常感激!

1 个答案:

答案 0 :(得分:1)

我不确定“编辑模式”是什么意思。如果我理解正确,你有一个你想要不可拖动的标记。 创建一个新的ArrayList,并在创建标记时将其添加到列表

例如:

// Make the list
ArrayList<Marker> mMarkerList;

// Make a new marker
Marker x = mMap.addMarker(...);

// Add market to the list
mMarkerList.add(x);

现在,要使它们全部不可拖动,请创建一个遍历标记列表的循环。

修改

设置可在循环中拖动的标记

public void myEditMode(boolean start){
    for (Marker marker:mMarkerList) {
        marker.setDragable(start);
    }
}