在Gmap中点与点之间没有直线.净的路线

本文关键字:Gmap 之间 | 更新日期: 2023-09-27 18:06:52

我使用Gmap。Net在windows窗体上,我想绘制一个对象的轨迹,当我收到它的位置,我使用Routes。当我在路线上添加点时,地图上看不到线,但当我改变地图的缩放倍数时,它们就会出现在地图上。此外,当我在添加一个点到路线(gMapControl1.Position = new PointLatLng(...))后设置地图的位置时,它可以正常工作,我看到地图上的路线,有什么想法吗?我的代码如下:

void NewDataReceived(DeviceInfo deviceinf)
{
    //---some codes
    //----For the first time I add layer and route 
    if (deviceOverLay == null)
    {
        deviceOverLay = new GMapOverlay(deviceinf.DeviceId.ToString());
        gMapControl1.Overlays.Add(deviceOverLay);
        deviceRoute = new GMapRoute(new List<PointLatLng>(), deviceinf.DeviceName);
        deviceOverLay.Routes.Add(deviceRoute);
        //Add all your points here
        deviceRoute.Points.Add(new PointLatLng(deviceinf.Latitude, deviceinf.Longitude));
        deviceRoute.Tag = deviceinf;
    }
    else
    {
        deviceOverLay.Routes[0].Points.Add(new PointLatLng(deviceinf.Latitude, deviceinf.Longitude));
    }
    //if I call this line it works, but I don't want it
    // gMapControl1.Position = new PointLatLng(deviceinf.Latitude, deviceinf.Longitude);  
    //---some codes
}

在Gmap中点与点之间没有直线.净的路线

尝试使用

gMapControl1.UpdateRouteLocalPosition(deviceRoute);

更新局部位置并重新绘制。