MapXtreme 2005 学习心得 道路区域选择(十三)

MapXtreme 2005 学习心得 道路区域选择(十三)

大家好,又见面了,我是全栈君。

事实上,在选择道路的时候,出了点问题。

问题一:之前在显示道路的时候,每取两个点就画了一条线显示,以至于选择道路时,只选中了两点间的一线,事实上,一条路可能是多个点组成的,所以选择路时,应该是选中整条路。

经过折腾,把画线的代码改成如下,多点组合成一线。

 

ExpandedBlockStart.gif

复制代码
 FeatureGeometry pt 
=
 
new
 MultiCurve(Layer.CoordSys, CurveSegmentType.Linear,点数组);
            SimpleLineStyle lineStyle 

=
 
new
 SimpleLineStyle(
new
 LineWidth(
4
, LineWidthUnit.Pixel), 线样式,颜色);
            CompositeStyle comStyle 

=
 
new
 CompositeStyle(lineStyle);
            Feature feature 

=
 
new
 MapInfo.Data.Feature(Table.TableInfo.Columns);
            feature.Geometry 

=
 pt;
            feature.Style 

=
 comStyle;
            Table.InsertFeature(feature);
复制代码

 

 

通过点数组画线之后,再用PointSelect工具选择线的时候,就能选择整条线了。

 

问题二:选择道路或区域后,需要交互的显示的数据,如下图:

MapXtreme 2005 学习心得 道路区域选择(十三)

 因此,在选择点的时候,需要获取被选中点的数据,在这里一开始走了弯路,通过Ajax重新查询点击点上附近的图元来找到数据,结果查的数据跟选择的点有出入。

经过折腾,发现从

 

 MapInfo.Engine.Session.Current.Selections.DefaultSelection[MapInfo.Engine.Session.Current.Catalog.GetTable(表别名)];

 

 

可以直接获取选择的数据。

 

问题三:如何改变选中道路或区域的样式

搜遍中文搜索引擎,几乎没有答案,最后还是搜英文的,终于找到结果:

经过折腾,代码如下:

ExpandedBlockStart.gif

复制代码
SimpleLineStyle lineStyle 
=
 
new
 SimpleLineStyle(
new
 LineWidth(
4
, LineWidthUnit.Pixel),
2
,System.Drawing.Color.Red,
true
);
                AreaStyle areaStyle 

=
 
new
 MapInfo.Styles.AreaStyle(lineStyle, 
new
 MapInfo.Styles.SimpleInterior(
9
,System.Drawing.Color.Blue, System.Drawing.Color.Blue, 
true
));
                
                Session.Current.Selections.DefaultSelection.Style.AreaStyle.ApplyStyle(areaStyle);
                Session.Current.Selections.DefaultSelection.Style.LineStyle.ApplyStyle(lineStyle);
复制代码

 

问题还有一点,对于线的样式的改变,效果不显著,如果把线的宽度变大一点,可以看到改变后的颜色是线的边框。如果不改变,根本看不到有变化。

 

下班吃饭,打完收工!

版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:

http://www.cnblogs.com/cyq1162/archive/2010/03/31/1701250.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108329.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 混沌皇帝系统_时滞系统ppt

    混沌皇帝系统_时滞系统ppt时滞混沌系统时滞混沌系统即具有混沌运动的时滞系统。时滞系统是系统中一处或几处的信号传递有时间延迟的系统。所谓混沌是指具有以下特点的一类现象:由确定性产生;具有有界性;具有非周期性;初始条件具有极端敏感性。时滞系统在工程中.许多动力系统可由状态变量随时间演化的微分方程来描述。随着混沌研究的不断深入,研究人员发现相当一部分动力系统的状态变量之间存在时间滞后现象,即系统的演化趋势不仅与系统当前的状态相关,而且还与过去某一时刻或若干时刻的状态有关。于是将这类动力学系统通称为时滞动力学系统。时滞动力学系统已

    2022年10月1日
    0
  • linux mail发邮件_python邮件发送

    linux mail发邮件_python邮件发送linux安装mailx发邮件文章目录linux安装mailx发邮件原理安装配置qq的smtps服务器配置Peer的证书发布者为信任​ mail命令是Linux终端发送邮件用的最多的命令。mailx是mail命令的更新版本,基于BerkeleyMail8.1,意在提供POSIXmailx命令的功能,并支持MIME、IMAP、POP3、SMTP和S/MIME扩展。mailx在某些交互特性上更加强大,如缓冲邮件消息、垃圾邮件评分和过滤等。在Linux发行版上,mail

    2022年10月20日
    0
  • 从零开始学Android_数学从零开始要学多久

    从零开始学Android_数学从零开始要学多久1环境搭建如果可以翻墙,环境搭建不是什么大问题,如果不能翻墙,则搭建环境比较困难。首先,我们根据网上的教程安装JDK。然后安装Androidstudio,最后进行一些配置,具体可以参考如下链接:https://jingyan.baidu.com/article/36d6ed1f9031bc1bcf4883f7.html。如果是国内环境,需要配置相关的国内镜像和仓库。有条件的话还是选择VPN的方…

    2022年4月20日
    40
  • VBScript教程-第二章. 运行脚本

    VBScript教程-第二章. 运行脚本因为过年,一直没有更新教程.发现按照这个进度得下个世纪能完成我这宏伟的小计划,所以最近我会加快进度.好多人问我学习方法,其实真的是学习没有捷径.最后说一句,学习脚本最好准备一份帮助文档,vbs就下载script56.chm这个文件就行了.=========================万恶的分割线后开始正题=====================…

    2022年6月17日
    18
  • java中采用dom4j解析xml文件「建议收藏」

    java中采用dom4j解析xml文件「建议收藏」一.前言在最近的开发中用到了dom4j来解析xml文件,以前听说过来解析xml文件的几种标准方式;但是从来的没有应用过来,所以可以在google中搜索dmo4j解析xml文件的方式,学习一下dom4j解析xml的具体操作。二.代码详情dom4j是一个第三方开发组开发出的插件,所以在我们使用dom4jf的时候我们要去下载一下dom4j对应版本的jar导入在我们项目中。1…

    2022年6月21日
    36
  • 黑科技!仅需 3 行代码,就能将 Gitter 集成到个人网站中,实现一个 IM 即时通讯聊天室功能?[通俗易懂]

    黑科技!仅需 3 行代码,就能将 Gitter 集成到个人网站中,实现一个 IM 即时通讯聊天室功能?[通俗易懂]欢迎关注个人微信公众号:小哈学Java,文末分享阿里P8高级架构师吐血总结的《Java核心知识整理&面试.pdf》资源链接!!个人网站:"https://www

    2022年8月2日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号