简体   繁体   中英

No line between points in Gmap.Net route

I'm using Gmap.Net on windows form, I want to draw track of an object when I receive its position, I use Routes for this. When I add points to a route, no line is seen on the map, but when I change the zoom of the map, they appear on the map. Also when I set the position of the map after adding a point to the route ( gMapControl1.Position = new PointLatLng(...) ), it works correctly and I see the route lines on the map, any idea? My code is like below.

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
}

Try using

gMapControl1.UpdateRouteLocalPosition(deviceRoute);

This updates the local positions and does a redraw.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM