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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Tomcat 下载安装教程

    Tomcat 下载安装教程文章目录参考资料1.下载2.安装3.卸载4启动5.关闭6.配置7.部署参考资料视频使用Tomcat的前提是你已经熟练Java,并且电脑已经安装了相应的JDK。1.下载直接从官网下载对应版本例如这边下载的是Tomcat8的windows版本:2.安装Tomcat是绿色版,直接解压即可例如在D盘的software目录下,将apache-tomcat-8.5.68-windows-x64.zip进行解压缩,会得到一个apache-tomcat-8.5.68的目录,

    2022年5月19日
    41
  • Typora下载和简单使用教程

    Typora下载和简单使用教程Typora下载Typora官网下载地址根据自己的电脑选择不同的版本,我用的是Windows64位的系统的就选择DownloadBeta(×64)下载完Typora以后我们就可以使用markdown了。Typora的学习1.标题数量 标题级数 快捷键 一个#加空格加内容 一级标题 Ctrl+1 两个#加空格加内容 二级标题 Ctrl+2 三个#加空格加内容 三级标题 Ctrl+3 以此类..

    2022年5月19日
    46
  • docker 启动容器报错及解决办法

    docker启动容器报错:Errorresponsefromdaemon:ociruntimeerror:container_linux.go:247:startingcontainerprocesscaused”process_linux.go:258:applyingcgroupconfigurationforprocesscaused\”Cannot…

    2022年4月16日
    628
  • linux如何退出文件查看模式,linux vi保存退出指令(如何退出vi)

    linux如何退出文件查看模式,linux vi保存退出指令(如何退出vi)有很多方法退出Vi当编辑完文件准备退出Vi返回到shell时可以使用以下几种方法之一在命令模式中连按两次大写字母Z若当前编辑的文件曾被修改过则Vi保存该文件后退出返回到shell;若当前编辑的文件没被修改过则Vi直接退出返回到shell在末行模式下输入命令:wVi保存当前编辑文件但并不退出而是继续等待用户输入命令在使用w命令时可以再给编辑文件起一个新的文件名[例]:wnewfi…

    2022年9月27日
    1
  • 刚重装的win7系统不能上网(深度系统安装步骤)

    SDN网络系统之Mininet与API详解Mininet是轻量级的软件定义网络系统平台,同时提供了对OpenFlow协议的支持。本文主要介绍了Mininet的相关概念与特性,并列举的Mininet自定义网络及参数网络拓扑示例,以及相关重要执行文件的分析,帮助用户更好的理解与使用Mininet技术。现在就开始免费试用SDN与Minine

    2022年4月14日
    53
  • django 自定义user_tb程序化交易模型源码

    django 自定义user_tb程序化交易模型源码前言Django为我们提供了内置的User模型,不需要我们再额外定义用户模型,建立用户体系了。它的完整的路径是在django.contrib.auth.models.User。User模型源码分析

    2022年7月30日
    4

发表回复

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

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