我已经通过将dragchangelistner和setdraggable标志设置为true来在我的地图中实现了可移动标记。 但是当用户尝试拖放标记时,我想显示一条警告,其中包含您要更新标记位置的消息? 如果用户说OK,那么我在函数onMarkerDragEnd()上做一些事情,否则我想将标记移回原来的位置。 我们怎么做到这一点?
答案 0 :(得分:0)
创建一个标准警报对话框,在onMarkerDragEnd方法中调用.show。在onMarkerDragStart中保存对象位置的引用。例如:
LatLng markerOriginalPosition;
public void onMarkerDragStart(Marker marker) {
markerOriginalPosition = marker.getPosition();
}
public void onMarkerDragEnd(Marker marker) {
dialog.show();
}
public void dialogPositiveAction() {
// do nothing marker is already set
}
public void dialogNegativeAction() {
// set back to original position
mMarker.setPosition(markerOriginalPosition);
}
通过回调或操作,您可以设置用户做出选择时将发生的正面和负面操作。如果他们喜欢新职位(积极行动),那么由于标记对象已经存在,所以什么都不做。如果他们想将其恢复到原始位置,请将其设置为原始位置LatLng。