当用户在 GMap.net 中移动时,如何获取单个标记以更新其位置

迪维亚
string lat = "40.682640,40.682671,40.682701,40.682732,40.682763,40.682794";
string lng = "-73.868470,-73.868359,-73.868247,-73.868136,-73.868025,-73.867913";
int index = 0;
private void Form1_Load(object sender, EventArgs e)
{
    Timer MyTimer = new Timer();
    MyTimer.Interval = (2000);
    MyTimer.Tick += new EventHandler(MyTimer_Tick);
    MyTimer.Start();
} 
private void MyTimer_Tick(object sender, EventArgs e)
{

    string[] Latitude = lat.Split(',');
    string[] Longitude = lng.Split(',');

    gmap.MapProvider = GMap.NET.MapProviders.BingMapProvider.Instance;
    GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerOnly;
    GMapProvider.WebProxy = null;
    gmap.SetPositionByKeywords("Atlantic Ave,USA");
    gmap.Position = new GMap.NET.PointLatLng(40.683377, -73.865798);
    gmap.ShowCenter = false;
    GMapOverlay markers = new GMapOverlay("markers");
    GMapMarker marker = new GMarkerGoogle(new PointLatLng(float.Parse(Latitude[index]), float.Parse(Longitude[index])), GMarkerGoogleType.blue);

    gmap.Overlays.Add(markers);
    markers.Markers.Add(marker);
    index++;

    GMapMarker marker1 = new GMarkerGoogle(new PointLatLng(40.684175, -73.862904), GMarkerGoogleType.green);

    markers.Markers.Add(marker1);
}

当用户移动而另一个标记保持静止时,我需要让单个标记更新其位置(蓝色标记)。我试过了,markers.Markers.remove(marker);但所有标记都被删除了。

迪维亚

当我在 MyTimer_Tick 方法之外声明标记时,我得到了单个标记更新其位置

    string lat = "40.682640,40.682671,40.682701,40.682732,40.682763,40.682794,40.682824,40.682855,40.682886,40.682916,40.682947,40.682978,40.683008,40.683039,40.683070,40.683101,40.683131,40.683162,40.683193,40.683223,40.683254,40.683285,40.683316,40.683346,40.683377,40.683408,40.683438,40.683469,40.683500,40.683530,40.683561,40.683592,40.683623,40.683653,40.683684,40.683715,40.683745,40.683776,40.683807,40.683838,40.683868,40.683899,40.683930,40.683960,40.683991,40.684022,40.684053,40.684083,40.684114,40.684145,40.684175";
    string lng = "-73.868470,-73.868359,-73.868247,-73.868136,-73.868025,-73.867913,-73.867802,-73.867691,-73.867579,-73.867468,-73.867357,-73.867246,-73.867134,-73.867023,-73.866912,-73.866800,-73.866689,-73.866578,-73.866466,-73.866355,-73.866244,-73.866132,-73.866021,-73.865910,-73.865798,-73.865687,-73.865576,-73.865464,-73.865353,-73.865242,-73.865130,-73.865019,-73.864908,-73.864797,-73.864685,-73.864574,-73.864463,-73.864351,-73.864240,-73.864129,-73.864017,-73.863906,-73.863795,-73.863683,-73.863572,-73.863461,-73.863349,-73.863238,-73.863127,-73.863015,-73.862904";
    int index = 0;

    GMapOverlay markers = new GMapOverlay("markers");
    GMapMarker marker = new GMarkerGoogle(new PointLatLng(40.682640, -73.868470), GMarkerGoogleType.blue);

    public Form2()
    {
        InitializeComponent();
    }

    private void Form2_Load(object sender, EventArgs e)
    {
        System.Windows.Forms.Timer MyTimer = new System.Windows.Forms.Timer();
        MyTimer.Interval = (1000);
        MyTimer.Tick += new EventHandler(MyTimer_Tick);
        MyTimer.Start();    //calling the timer
    }

    private void MyTimer_Tick(object sender, EventArgs e)
    { 
        //adding google map
        string[] Latitude = lat.Split(',');
        string[] Longitude = lng.Split(',');
        gmap.MapProvider = BingMapProvider.Instance;
        GMaps.Instance.Mode = GMap.NET.AccessMode.ServerOnly;
        GMapProvider.WebProxy = null;
        gmap.SetPositionByKeywords("Atlantic Ave,USA");
        gmap.Position = new GMap.NET.PointLatLng(40.683377, -73.865798);
        gmap.ShowCenter = false;
        gmap.Overlays.Add(markers);
        markers.Markers.Add(marker);  //adding the blue marker
        index++;
        marker.Position = new PointLatLng(float.Parse(Latitude[index]), float.Parse(Longitude[index]));
        GMapMarker marker1 = new GMarkerGoogle(new PointLatLng(40.684175, -73.862904), GMarkerGoogleType.green);
        markers.Markers.Add(marker1);  //adding the green marker 
    }

但是每隔几秒就会重新绘制地图。有没有办法下载地图并离线使用,以避免重新绘制地图。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Gmap.net标记删除

来自分类Dev

Gmap.net缓存如何工作?

来自分类Dev

如何打印GMap.NET地图?

来自分类Dev

Gmap.net缓存如何工作?

来自分类Dev

如何打印GMap.NET地图?

来自分类Dev

GMap.Net标记最初处于错误位置

来自分类Dev

GMap.NET WPF 标记计时器更新

来自分类Dev

GMap.Net缩放问题鼠标悬停/悬停标记

来自分类Dev

Gmap.net 仅显示多边形内的标记

来自分类Dev

在asp.net中没有获取gmap

来自分类Dev

如何在VB.Net中创建Circe Whit GMap

来自分类Dev

当用户使用C#注销asp.net时如何清除浏览器缓存?

来自分类Dev

当用户更改asp.net列表视图中的下拉列表时,如何触发事件?

来自分类Dev

当用户控件完成在ASP.NET中的加载时,将事件触发到父页面

来自分类Dev

当用户关闭ASP.NET MVC中的浏览器或选项卡时,如何注销用户?

来自分类Dev

当用户移动时,如何更新MKMapView上的图钉

来自分类Dev

当用户单击标记“标题”时检测

来自分类Dev

ASP.Net MVC 5:当用户在dropdownlist html helper中选择一个项目时,如何执行操作?

来自分类Dev

当用户点击输入键asp.net c#时,如何禁用asp:ImageButton中的默认提交

来自分类Dev

ASP.net-core 3.0-当用户不在策略中时,是否可以返回自定义错误页面?

来自分类Dev

当用户未被授权使用 ASP.NET Core 2.2 和 OIDC 时自动重定向到外部权限

来自分类Dev

当用户向后滑动时popToRootViewControllerAnimated

来自分类Dev

当用户按ESC时移开焦点

来自分类Dev

当用户向下滚动时显示Div

来自分类Dev

当用户向下滚动时显示图像

来自分类Dev

JWplayer当用户单击播放时全屏

来自分类Dev

当用户收到短信时获得通知

来自分类Dev

当用户向下滚动时显示Div

来自分类Dev

当用户触底时发送POST?

Related 相关文章

  1. 1

    Gmap.net标记删除

  2. 2

    Gmap.net缓存如何工作?

  3. 3

    如何打印GMap.NET地图?

  4. 4

    Gmap.net缓存如何工作?

  5. 5

    如何打印GMap.NET地图?

  6. 6

    GMap.Net标记最初处于错误位置

  7. 7

    GMap.NET WPF 标记计时器更新

  8. 8

    GMap.Net缩放问题鼠标悬停/悬停标记

  9. 9

    Gmap.net 仅显示多边形内的标记

  10. 10

    在asp.net中没有获取gmap

  11. 11

    如何在VB.Net中创建Circe Whit GMap

  12. 12

    当用户使用C#注销asp.net时如何清除浏览器缓存?

  13. 13

    当用户更改asp.net列表视图中的下拉列表时,如何触发事件?

  14. 14

    当用户控件完成在ASP.NET中的加载时,将事件触发到父页面

  15. 15

    当用户关闭ASP.NET MVC中的浏览器或选项卡时,如何注销用户?

  16. 16

    当用户移动时,如何更新MKMapView上的图钉

  17. 17

    当用户单击标记“标题”时检测

  18. 18

    ASP.Net MVC 5:当用户在dropdownlist html helper中选择一个项目时,如何执行操作?

  19. 19

    当用户点击输入键asp.net c#时,如何禁用asp:ImageButton中的默认提交

  20. 20

    ASP.net-core 3.0-当用户不在策略中时,是否可以返回自定义错误页面?

  21. 21

    当用户未被授权使用 ASP.NET Core 2.2 和 OIDC 时自动重定向到外部权限

  22. 22

    当用户向后滑动时popToRootViewControllerAnimated

  23. 23

    当用户按ESC时移开焦点

  24. 24

    当用户向下滚动时显示Div

  25. 25

    当用户向下滚动时显示图像

  26. 26

    JWplayer当用户单击播放时全屏

  27. 27

    当用户收到短信时获得通知

  28. 28

    当用户向下滚动时显示Div

  29. 29

    当用户触底时发送POST?

热门标签

归档