首页 / 浏览问题 / 组件GIS / 问题详情
iobjects .net如何进行量距量面
20EXP 2022年12月22日
想用iobjects .net实现桌面那种量距量面的效果,测量结果显示在量距量面旁边,请问有demo可以参考吗

1个回答

您好,是支持的,建议您参考iObjects .NET组件 Help 目录下的帮助文档,其中“范例程序说》地图操作》地图量算 ”demo满足您描述的需求。

范例程序位置:iObjects .NET组件安装目录\SampleCode\Mapping\MeasureMap\MeasureMap.csproj。

希望可以帮到您。

2,158EXP 2022年12月22日
你好,我看示例demo里面是通过固定位置打开的工作空间和地图,请问我该怎么获取当前地图进行测量呢,在实例化SampleRun的时候直接传入workspace和mapcontrol就可以了吗,这个Initialize打开的写死的地图和工作空间不用管吗
 WorkspaceConnectionInfo conInfo = new WorkspaceConnectionInfo(@"../../SampleData/City/Changchun.smwu");

m_workspace.Open(conInfo);

m_mapControl.Map.Open(m_workspace.Maps[0]);
你好,我根据示例demo试了一下,可以量距量面了,但是在最后绘制结束后就自动把绘制的线或面自动清除掉了,只剩一个结果显示,无法看到绘制的线和面了,跟桌面效果有挺大差距的,请问这个绘制结束后仍保留显示绘制该如何操作呢,或者说有更完善一点的量距量面demo吗
您好,建议您可以先阅读一下 iObjects .NET 组件的帮助文档再开始尝试编码实现您想要的逻辑,iObjects .NET 组件的帮助文档中关于 MapControl 封装的各种事件有很清晰的描述,您只需要重写 MapControl 的 Tracked 事件,在绘制结束的时候将测距时绘制的临时线添加到追踪图层显示即可。
...