Gmap.Net 路线中的点之间没有线
No line between points in Gmap.Net route
我在 windows 表格上使用 Gmap.Net,我想在收到对象的位置时绘制它的轨迹,为此我使用 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
}
尝试使用
gMapControl1.UpdateRouteLocalPosition(deviceRoute);
这会更新本地位置并进行重绘。
我在 windows 表格上使用 Gmap.Net,我想在收到对象的位置时绘制它的轨迹,为此我使用 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
}
尝试使用
gMapControl1.UpdateRouteLocalPosition(deviceRoute);
这会更新本地位置并进行重绘。