2013-07-09 5 views
0

GMapControl을 사용하는 WPF 프로그램을 작성하고 있습니다. 사용자가지도를 클릭하고 사용자가 클릭 한 위치에 마커를 추가 할 수있게하고 싶습니다. "MouseUp"및 "MouseDown"이벤트를 사용하여 실제로 사용자가 을 클릭하고 끌어서 놓기를 무시할 때만 이벤트가 잡히지 않도록하고 싶습니다. 또한 스타일러스와 터치 이벤트를 같은 방식으로 잡을 수 있기를 바랍니다. 나는 "클릭"이벤트가 없다는 것을 알아 차렸다. 이것이 어떻게 수행되어야하는지에 대한 다른 모범 사례가 있습니까?WPAP 용 GMap.net에서 클릭 이벤트에 응답하는 방법

Thnx, 더 Click 이벤트가없는 경우

답변

-1

글쎄, 당신은거야가 클릭을 감지하는 MouseDown + MouseUp을 처리해야합니다. 그냥 MouseDowne.Position를 저장하고, MouseUp에 반드시 마우스가 많이 이동하지 않았는지 비교 :

private Point downPoint; 

private void OnMouseDown(object sender, MouseButtonEventArgs e) 
{ 
    downPoint = e.Position; 
} 

private void OnMouseUp(Object sender, MouseButtonEventArgs e) 
{ 
    if (Math.Abs(downPoint.X - e.Position.X) < SystemParameters.MinimumHorizontalDragDistance && 
     Math.Abs(downPoint.Y - e.Position.Y) < SystemParameters.MinimumVerticalDragDistance) 
    { 
     HandleClick(sender, e); 
    } 
} 

당신은 펜과 터치 지원 비슷한해야 할 것입니다.

+0

Thnx, Abe. 물론 나는 내 자신의 클릭을 구현할 수 있습니다. 문제는 그러한 간단한 작업에 너무 많은 논리를 써야하는 것을 피하려고했습니다. 버튼에는 간단한 클릭 (그리고 최근에 도청) 이벤트가 있습니다.지도 컨트롤에 매우 유용하기 때문에지도 컨트롤에 동일한 것이 있다고 생각했습니다. 사용자가지도상의 특정 지점을 선택해야하는 모든 상황에서 이러한 이벤트가 필요합니다. 각 개발자가 각자의 이벤트를 개발할 것으로 예상됩니다. –

+0

음, 오픈 소스 프로젝트입니다 ... 아마도 프로젝트에 코드를 제출하여 코드에서 관리하지 않아도됩니다. –

0

당신은 CustomMarkerDemo.xaml.cs 다음 링크 [여기]

클릭 (https://github.com/radioman/greatmaps)

시계에서 답을 얻을 프로그램이 추가 할 수 있습니다. 이 맞춤식 아이콘에는 사용자가 요구하는 클릭 이벤트가 있습니다.