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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java LDAP统一身份认证

    不多说直接看代码,如下:importjava.util.Hashtable;importjavax.naming.AuthenticationException;importjavax.naming.Context;importjavax.naming.NamingEnumeration;importjavax.naming.NamingException;import…

  • SpringMVC 处理器适配器详解[通俗易懂]

    SpringMVC 处理器适配器详解[通俗易懂]0x00:介绍处理器适配器HandlerAdapter:作用是根据映射器找到的处理器Handler信息,按照特定的规则去执行相关的处理器Handler。其配置方式有两种,一种是基于xml的资源配置,也就是非注解的配置方式。另外一种就是基于Annotation注解的配置。其注解在代码中做上特殊标记,这些标记就可以编译、类加载、运行时被读取,然后去执行相应的处理。0x01:…

  • nginx反向代理数据库端口安全吗(nginx反向代理80端口)

    nginx反向代理数据库端口使用场景如下:当数据库在服务器A并且处于外网无法直接访问时,此时同局域网下只有服务器B提供对外访问,客户能访问b却无法访问A的情况下,由于两台服务器处于同局域网,并且服务器A有端口是开放的,可以在服务器B内进行nginx反向代理安装nginx首先在服务器b内,安装nginx(docker化的也可以)如果是docker的nginx需要进入docker内的nginxdockerexec-it容器idbash一般nginx的配置文件在e

  • xshell7怎么连接虚拟机_centos ssh

    xshell7怎么连接虚拟机_centos ssh文章目录一、xshell简介二、xshell安装三、xshell链接虚拟机的centos71.查看虚拟机中centos系统的ip2.利用ip链接一、xshell简介Xshell[1]是一个强大的安全终端模拟软件,它支持SSH1,SSH2,以及MicrosoftWindows平台的TELNET协议。Xshell通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复…

  • java json 变量所有的属性[通俗易懂]

    java json 变量所有的属性[通俗易懂]javajson

  • W3C标准与规范「建议收藏」

    W3C标准与规范「建议收藏」W3C标准,即一系列标准的集合,他的本质是结构标准语言。就像平时使用的HTML、CSS等都需要遵守这些标准。万维网联盟创建于1994年,是web技术领域最具权威和影响力的国际中立性技术标准机构。它有效促进了web技术相互之间的兼容。就像网页是由三部分组成:结构、表现和行为。那么他对应的标准也分三方面:1.结构化标准语言:HTML。可扩展标记语言(XML):最初设计目的是弥补HTML的不

发表回复

您的电子邮箱地址不会被公开。

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