招商加盟网站开发,青海省建设厅通报网站,Wordpress加720云vr,好看个人博客html源码三维虚拟电子沙盘数字沙盘态势推演教程第12课
设置system.ini 如下内容 Server122.112.229.220 userGisTest Passwordchinamtouch.com
该数据库中只提供 成都市火车南站附近的数据请注意#xff0c;104.0648,30.61658
SDK中自带了一套 导航系统#xff0c;用的是比较详细的…
三维虚拟电子沙盘数字沙盘态势推演教程第12课
设置system.ini 如下内容 Server122.112.229.220 userGisTest Passwordchinamtouch.com
该数据库中只提供 成都市火车南站附近的数据请注意104.0648,30.61658
SDK中自带了一套 导航系统用的是比较详细的导航数据你们懂的修正了一下在使用互联网服务器时候的一个BUG请在使用这部分功能时务必下载上面地址中的核心更新包覆盖。 截图如下 该导航图为切片导航图。年份嘛你们懂的,另外导航系统为线程异步工作。因需要数据库支持所以如果你是用的互联网服务器
导航算法得到路径的时间会有所增长建议是把数据库下载到本地才可以看到真实的导航算法速度。 导航算法在单独的ShortRoad.dll中可独立使用担需要相关数据文件。导航算法可根据权值进行微调目前有高速优先和最短路径两种。
ShortRoad.ShortPath.MyPareant this.Dispatcher; //因为导航算法为异步委托多线程方式完成需要一个异步委托主对象静态。 ShortRoad.ShortPath.chuslhi(); //初始化数据静态 MyShort new ShortRoad.ShortPath();
//初始化导航类 MyShort.OnShortPath new ShortRoad.ShortPath.PathOver(ShortPath_OnShortPath);
//导航数据回调事件 MyShort.OnPro new ShortRoad.ShortPath.ChuLiPro(ShortPath_OnPro);
//导航算法信息事件。 MyShort.GetShortPath(BeginPoint.X, BeginPoint.Y, EndPoint.X, EndPoint.Y,false);
//获取最短路径
参数起点经度纬度终点经度纬度是否启用高速优先。
路径回调事件 void ShortPath_OnShortPath(System.Collections.Generic.Dictionarystring, System.Collections.Generic.ListSystem.Drawing.PointF value,System.Windows.Point bx,System.Windows.Point ey) { double Totolength 0; Pareant.PlayPath.Add(new Point3D(BeginPoint.X, BeginPoint.Y, 0)); foreach (string key in value.Keys) { Totolength Convert.ToDouble(key.Split(#)[1].Split(,)[12]); foreach (System.Drawing.PointF y1 in value[key]) { Pareant.PlayPath.Add(new Point3D(y1.X, y1.Y, 0)); } }
} 事件参数1System.Collections.Generic.Dictionarystring,System.Collections.Generic.ListSystem.Drawing.PointF
存放有所有的路径数据 KEY为路径详细信息内容如下Value中为经纬度数据
清江东路#464400 , 49559714 , 1 , 0302 , 130 , 3 , 2 , 1 , , 47106369 , 5880354 , 3 , 0.012 , 1 , 1 , , 0 , 1 , 0 , 510105 , 510105 , 1 , , , 5 , , 4 , 3 , 11110001110000000000000000000000 , 0 , 0 , , , , 600 , , 1 , 1 , , 清江东路
该KEY描述了这条路的所有信息。可参看下表 下面上代码先要引用shortroad.dll ShortRoad.ShortPath.MyPareant this.Dispatcher; //因为导航算法为异步委托多线程方式完成需要一个异步委托主对象静态。 ShortRoad.ShortPath.chuslhi(); //初始化数据静态 MyShort new ShortRoad.ShortPath(); //初始化导航类 MyShort.OnShortPath this.MyShort_OnShortPath; //导航数据回调事件 MyShort.OnPro MyShort_OnPro; //导航算法信息事件。 #region 导航系统 System.Windows.Point FirstJW new System.Windows.Point(); System.Windows.Point secJW new System.Windows.Point(); private void Button_Click_15(object sender, RoutedEventArgs e) { gis3d.State GisLib.WindowsMT.GisState.获取经纬度; gis3d.GetJWEvent Gis3d_GetJWEvent2; } private void Gis3d_GetJWEvent2(System.Windows.Media.Media3D.Point3D value) { gis3d.GetJWEvent - Gis3d_GetJWEvent2; FirstJW new System.Windows.Point(value.X, value.Y); gis3d.State GisLib.WindowsMT.GisState.漫游; } private void Button_Click_16(object sender, RoutedEventArgs e) { gis3d.State GisLib.WindowsMT.GisState.获取经纬度; gis3d.GetJWEvent Gis3d_GetJWEvent3; } private void Gis3d_GetJWEvent3(System.Windows.Media.Media3D.Point3D value) { gis3d.GetJWEvent - Gis3d_GetJWEvent2; secJW new System.Windows.Point(value.X, value.Y); MyShort.GetShortPath(FirstJW.X, FirstJW.Y, secJW.X, secJW.Y, true); gis3d.State GisLib.WindowsMT.GisState.漫游; } private void MyShort_OnPro(string value) { FirstShort.Content value; } private void MyShort_OnShortPath(Dictionarystring, ListPointF value, System.Windows.Point mbegin, System.Windows.Point mend) { if (value null) return; if (value.Count 0) return; ListPoint3D PlayPath new ListPoint3D(); double Totolength 0; // Pareant.PlayPath.Add(new Point3D(BeginPoint.X, BeginPoint.Y, 0)); foreach (string key in value.Keys) { if (key.Length 12) { if (key.Split(#).Length 2) Totolength Convert.ToDouble(key.Split(#)[1].Split(,)[12]); } foreach (System.Drawing.PointF y1 in value[key]) { PlayPath.Add(new Point3D(y1.X, y1.Y, 0)); } } PlayPath.Add(new Point3D(secJW.X, secJW.Y, 0)); Random t1 new System.Random(); System.Windows.Media.Color pp new System.Windows.Media.Color(); pp Colors.Red; //调用SDK提供的画路方法把路画出来 gis3d.RemoveShotPath(导航路径); gis3d.DrawShortPath(PlayPath, 导航路径, pp, true); } #endregion 效果如下再三强调数据库配合所以用互联网服务器的时候。在计算时会比较慢担因为使用的是线程模式所以不影响主进程做其它事。SDK自带的drashortpath方法支持自动抽稀可以显示很长的导航路线。