2016-09-01 8 views
0

지도에 마커를 배치 할 수있는 Google지도에 GMap.net을 사용하고 있습니다.WPF에서 한 위치에서 다른 위치로 마커를 이동하는 방법은 무엇입니까?

마커를 자유롭게 움직여지도에서 다른 위치에 배치 할 수있게하려고합니다.

마커 용 이미지를 사용하고 이미지 마커를 이동하는 이벤트를 추가했지만 이미지 이동을 시도 할 때마다 전체지도가 움직이기 시작하는이 코드를 사용했습니다. 마커 이동에 사용할 수있는 이벤트가 있으면 알려 주시기 바랍니다.

주 :이 내가 CustomMarkerDemo.xaml.cs에 대한 링크 [여기]

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

시계를 다음에서 해결책을 발견하고이를 추가 WPF 마지막으로

private void PlaceCamera_Click(object sender, RoutedEventArgs e) 
{ 
    Double lat = Convert.ToDouble(this.Lattitude.Text); 
    Double lng = Convert.ToDouble(this.Longitude.Text); 
    marker = new GMapMarker(new PointLatLng(lat,lng));  

    Image newImage = new Image(); 
    Canvas.SetZIndex(newImage, 99); 
    newImage.MouseLeftButtonDown += (ss, ee) => 
    { 
    firstPoint = ee.GetPosition(this); 
    newImage.CaptureMouse(); 
    }; 
    newImage.MouseMove += (ss, ee) => 
    { 
    if (ee.LeftButton == MouseButtonState.Pressed) 
    { 
     //-- Create temp point 
     Point temp = ee.GetPosition(this); 
     Point res = new Point(firstPoint.X - temp.X, firstPoint.Y - temp.Y); 

     //-- Update image location 
     Canvas.SetLeft(newImage, Canvas.GetLeft(newImage) - res.X); 
     Canvas.SetTop(newImage, Canvas.GetTop(newImage) - res.Y); 

     //-- Update first point 
     firstPoint = temp; 
    } 
    }; 
    newImage.MouseUp += (ss, ee) => { newImage.ReleaseMouseCapture(); }; 

    BitmapImage testim = new BitmapImage(); 
    testim.BeginInit(); 
    testim.UriSource = new Uri("F:\\test.png"); 
    testim.EndInit(); 

    newImage.Source = testim; 
    newImage.Height = 30; 
    newImage.Width = 30; 

    marker.Shape = newImage; 
    MainMap.Markers.Add(marker); 
} 

답변

1

입니다 귀하의 프로그램에. 이 맞춤식 아이콘에 클릭 이벤트가 필요합니다.