随笔 - 40, 文章 - 0, 评论 - 20, 引用 - 0
数据加载中……

Mapxtreme for Java中添加自定义图标

MapXtreme Java提供的图标很少,做出的地图看起来不美观。MapXtreme Java中自定义符号
我目前想用这种方法:
将自定义的符号*.bmp保存到C:\Documents and Settings\Administrator\Application Data\MapInfo\MapInfo\Professional\700\CustSymb即可在pro中使用,如果要在xtreme for java 中使用该符号,要首先将该bmp格式的图标转换为gif格式,然后在xtreme for java安装根目录\MapInfo\tomcat-4.0.1\mxj450\webapps\mapxtreme45\resources中新建一文件夹,用文本编辑器写没有扩展名的文件,内容为:
<?xml version="1.0" encoding="UTF-8"?>
<NamedResource>
<ResourceDTD>
MI_XML_Protocol_MapCommonElements_4_0.dtd
</ResourceDTD>
<ResourceXML>
<Style>
<rendition>
<style symbol-mode="image">
<image href="file:///D:\\Program Files\\MapInfo\\book.gif"/>
</style>
</rendition>
</Style>
</ResourceXML>
</NamedResource>
其中的D:\\Program Files\\MapInfo\\book.gif为图标的保存路径。
然后在地图定义管理器中将选择图层的显示样式定位到给文件即可。
也可以在程序中控制,代码如下:
com.mapinfo.dp.Rendition rend = new com.mapinfo.dp.Rendition();
                          rend.setvalue(Rendition.SYMBOL_MODE, Rendition.SymbolMode.IMAGE);
                          String gifUrl = "file:///D:\\Program Files\\MapInfo\\book.gif";
                          rend.setvalue(Rendition.SYMBOL_URL, gifUrl);
                          rend.setvalue(Rendition.SYMBOL_SIZE, new com.mapinfo.unit.Size(15));
                          selTheme.setRendition(rend);
                          annLayer.getThemeList().add(selTheme);
我目前尝试的这两种方法有一个差别,在地图定义管理器中不能设置自定义符号的大小,无论我设置的大小是什么,都为原始大小,但是如果在程序中可以用rend.setvalue(Rendition.SYMBOL_SIZE, new com.mapinfo.unit.Size(15))控制大小。

 

posted on 2005-05-19 16:01 月亮 阅读(1370) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: