2014-11-02 6 views
0

dragnaselistner 및 setdraggable 플래그를 true로 설정하여 내지도에 움직이는 마커를 구현했습니다. 그러나 사용자가 마커를 드래그 앤 드롭하려고 할 때 마커 위치를 업데이트하겠다는 메시지가 표시된 경고를 표시하려고합니까? 사용자가 OK라고 말하면 함수 onMarkerDragEnd()에서 무언가를합니다. 그렇지 않으면 마커를 원래 위치로 되돌리고 싶습니다. 어떻게 할 수 있습니까?Google지도 v2 마커 끌어서 놓기 알림 기능을 갖춘 Android

답변

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 원래 위치로 설정하십시오.

관련 문제