mapxtreme2008 asp.net画线问题,无法显示,高分求教!

phper2008 2010-04-18 09:28:23
简单的两点间画一直线,跟踪了程序没有报错,临时表也成功创建,图层也添加到地图的Layers里了,
可是无论如何直线在地图上不显示!
有谁遇到过,不晓得如何解决了!请高人赐教!


画线主程序:

try
{
MapInfo.Mapping.Map myMap = GetMapObj();//获得地图
if (myMap == null)
{
return;
}
//获得地图坐标系
CoordSys coordSys = myMap.GetDisplayCoordSys();
//创建临时表
MapInfo.Data.Table temptable = mapXCreateTable(coordSys, "temptable", "clgj");
//四个文本框存2个坐标点的x、y值
if (TextBox1.Text == "" || TextBox2.Text == "" || TextBox3.Text == "" || TextBox4.Text == "") return;
MapInfo.Geometry.DPoint dpStart = new MapInfo.Geometry.DPoint(Convert.ToDouble(TextBox1.Text), Convert.ToDouble(TextBox2.Text));
MapInfo.Geometry.DPoint dpEnd = new MapInfo.Geometry.DPoint(Convert.ToDouble(TextBox3.Text), Convert.ToDouble(TextBox4.Text));

MapInfo.Geometry.MultiCurve mc = MapInfo.Geometry.MultiCurve.CreateLine(coordSys, dpStart, dpEnd);
Color color = System.Drawing.Color.Red;
MapInfo.Styles.SimpleLineStyle bl = new MapInfo.Styles.SimpleLineStyle(new MapInfo.Styles.LineWidth(12, MapInfo.Styles.LineWidthUnit.Pixel), 1, color);
MapInfo.Styles.CompositeStyle cs = new MapInfo.Styles.CompositeStyle(null, bl, null, null);
mapXTableAddRow(temptable, mc, cs, "clgj", "车辆轨迹");//向临时表增加一行数据
FeatureLayer lyr = new FeatureLayer(temptable);
myMap.Layers.Insert(0, lyr);
}
catch (System.Exception ex)
{
//处理
}


创建临时表部分:

private MapInfo.Data.Table mapXCreateTable(MapInfo.Geometry.CoordSys pCoordSys, string pTabName, string pColumnName)
{
if (MapInfo.Engine.Session.Current.MapFactory.Count == 0) return null;
MapInfo.Data.Catalog Cat = MapInfo.Engine.Session.Current.Catalog;
MapInfo.Data.Table tblTemp = Cat.GetTable(pTabName);
if (tblTemp != null) Cat.CloseTable(pTabName);
MapInfo.Data.TableInfoMemTable imt = new MapInfo.Data.TableInfoMemTable(pTabName);
imt.Columns.Add(MapInfo.Data.ColumnFactory.CreateFeatureGeometryColumn(pCoordSys));
imt.Columns.Add(MapInfo.Data.ColumnFactory.CreateStyleColumn());
imt.Columns.Add(MapInfo.Data.ColumnFactory.CreateStringColumn(pColumnName, 40));
return Cat.CreateTable(imt);
}


向表中增加数据:

/// <summary>
/// 向临时表里增加一行数据
/// </summary>
/// <param name="pTable">临时表</param>
/// <param name="pGeometry">地理图元</param>
/// <param name="pStyle">图元样式</param>
/// <param name="pColumnName">自定义字段名</param>
/// <param name="pColumnValue">自定义字段值</param>
private void mapXTableAddRow(MapInfo.Data.Table pTable, MapInfo.Geometry.FeatureGeometry pGeometry, MapInfo.Styles.Style pStyle, string pColumnName, string pColumnValue)
{
MapInfo.Data.Feature f = new MapInfo.Data.Feature(pTable.TableInfo.Columns);
f.Geometry = pGeometry;
f.Style = pStyle;
f[pColumnName] = pColumnValue;
pTable.InsertFeature(f);
}

...全文
297 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wosizy 2010-04-19
  • 打赏
  • 举报
回复
map.featurefactory.createline() 估计是那些参数代错了
去看下 VB 写的一个 能显示
http://www.gis-mapinfo.cn/post/18870.html
zsuswy 2010-04-19
  • 打赏
  • 举报
回复
1、首先,确定下你的文本框里面输入的经纬度,是不是在你当前的地图范围里。
2、myMap.Layers.Insert(0, lyr)之后,这个层本身是不是显示出来了?

最后,在客户端浏览器里面,看一下地图的容器控件(就是放地图的html控件,一般是个div吧)的innerHTML的内容,看下画的线的是不是在里面。 在浏览器地址栏里面敲 javascript:alert(document.getElementById("容器控件ID").innerHTML) 或者用其它的调试工具。
doo1314 2010-04-18
  • 打赏
  • 举报
回复
xuexixuexi
phper2008 2010-04-18
  • 打赏
  • 举报
回复
素质啊,还有来打广告的!
就别挖苦我,我折腾几天了,头都大了!
wk417301568 2010-04-18
  • 打赏
  • 举报
回复
phper2008 2010-04-18
  • 打赏
  • 举报
回复
大哥,我是要在地图上动态画线,用程序自动画2个点,不是开发一个画线工具,
画车辆轨迹是由后台实现的!

请问 我上面的方法一样是先添加临时表,然后将临时表形成的图层加到地图图层中!
其实跟博客里写的也差不多,只是没有注册到客户端就是!

为什么线显示不不出来呢?
wuyq11 2010-04-18
  • 打赏
  • 举报
回复
看看相关文档
画线
xuyuanyuan717818 2010-04-18
  • 打赏
  • 举报
回复
YYYYYY
源码下载地址: https://pan.quark.cn/s/40677b766bda "ContextCapture 倾斜摄影快速、创新及全面空三建模与单机集群硬件部署方案2018" 此资源聚焦于倾斜摄影(ContextCapture)空三建模及单机集群硬件部署方案,致力于为用户呈现最快、最优成本效益的台式工作站、移动工作站、并行集群的多样化部署选择。以下是该资源的详细知识点概述: 一、相关设备型号说明 * UltraLAB 是西安坤隆计算机科技有限公司推出的专属图形工作站品牌,具备三大卓越优势:顶尖的计算硬件架构、精准的行业应用定制服务、专业的硬件系统优化工艺。 二、硬件部署方案 * 台式工作站部署建议:设备特色在于当前市场上最快的台式计算架构,适用于办公场景下,部门层级常规的倾斜摄影空三处理、三维建模。 * 便携式工作站部署建议:设备特色在于当前市场上最快的移动计算架构,适用于移动倾斜摄影的空三处理、三维建模工作站。 * 大数据量处理工作站推荐:设备特色在于极限自动超频加速与16个并行存储构造,具备空三处理和三维建模最强的计算性能及海量高速并行存储性能。 * 多设备并行计算集群部署建议:针对海量图像数据计算产生的巨大需求,单机计算能力处理时间过长,效率不高,通过多台机器并行集群,进行空三处理、三维建模,显著减少处理时间。 三、部署方案深入解析 * 2.1 倾斜摄影建模(台式工作站)部署方案:设备特色在于最高的计算处理能力~6核5.2GHz,内存最大配置可达64GB,配备最新图灵架构的RTX显卡,相比市场其他品牌机器(单CPU、双Xeon处理器)更快、更具成本效益。 * 2.2 倾斜摄影建模(移动便携式工作站)硬件部署方案:设备特色在于最高的计算处理能力~6...

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧