Gmap.net不能使用C#winform显示多个标记

时间:2018-04-07 10:30:46

标签: c# winforms gmap.net

我想在地图上显示多个标记,但似乎不能,代码如下: button1_Click显示位置,按钮2_点击显示标记! 有人给我任何指示吗?感谢。

 private void button1_Click(object sender, EventArgs e)
 {

    gmap.DragButton = MouseButtons.Left;
    gmap.MapProvider = GMapProviders.GoogleMap;
    gmap.Position = new PointLatLng(25.037531, 121.5639969);
    gmap.MinZoom = 5;
    gmap.MaxZoom = 100;
    gmap.ShowCenter = false;
    gmap.Zoom = 15;
 }
 private void button2_Click(object sender, EventArgs e)
 {
        Random r = new Random();

        var marker = new GMarkerGoogle(new PointLatLng(r.Next(25, 500), 121), GMarkerGoogleType.green);
        var marker1 = new GMarkerGoogle(new PointLatLng(r.Next(25, 500), 121), GMarkerGoogleType.pink);
        var marker2 = new GMarkerGoogle(new PointLatLng(r.Next(25, 500), 121), GMarkerGoogleType.blue);
        var marker3 = new GMarkerGoogle(new PointLatLng(r.Next(25, 500), 121), GMarkerGoogleType.yellow);
        marker.IsVisible = true; marker1.IsVisible = true; marker2.IsVisible = true; marker3.IsVisible = true;

        gMapOverlay.Markers.Add(marker); 
        gMapOverlay.Markers.Add(marker1);
        gMapOverlay.Markers.Add(marker2); 
        gMapOverlay.Markers.Add(marker3);
        gmap.Overlays.Add(gMapOverlay);  
   } 

1 个答案:

答案 0 :(得分:0)

您的代码没问题,但您使用的随机函数的问题只会产生整数,而一个小整数的变化意味着更改完整的程度纬度或经度,这是一个轻推的位移。

所以你必须生成一个随机双打数字而不是整数

我编辑代码才能正常工作。

public class SubtractWithRest {

    public static void main(String[] args) {
        SubtractResultWithRest subtractResultWithRest = new SubtractResultWithRest();
        subtraction(10, 20, subtractResultWithRest);
        System.out.println("Result: " + subtractResultWithRest.getResult());
        System.out.println("Rest: " + subtractResultWithRest.getRest());
    }

    private static void subtraction(int num1, int num2, SubtractResultWithRest subtractResultWithRest) {
        if (num2 > num1) {
            subtractResultWithRest.setResult(0);
            subtractResultWithRest.setRest(num2 - num1);
        } else {
            subtractResultWithRest.setResult(num1 - num2);
        }
    }

}
相关问题