2008年12月29日
在mapxtreme 中visualMapJ1MouseClicked 事件只能便用左键,如果想要右键弹出信息的话,非常的不方便,下面是一个临时的解决办法:
private void visualMapJ1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO 将在此处添加您的处理代码:
if(evt.getButton() == MouseEvent.BUTTON1){
JPopupMenu pop =new JPopupMenu(); //右键菜单
if(!infoToolListener.getInfo().equals("")){ //取回的地理信息不为空
pop.add(infoToolListener.getInfo()); //把信息加到菜单上
pop.show(evt.getComponent(),evt.getX(),evt.getY()); //在鼠标的地方弹出
infoToolListener.clearInfo(); //清除上次信息
}
} else if (evt.getButton() == MouseEvent.BUTTON3){ //如果点的是鼠标右键,把它模拟成左键
try {
Robot robot = new Robot(); // 建个机器人
robot.mousePress(InputEvent.BUTTON1_MASK); //模拟左键按下
robot.mouseRelease(InputEvent.BUTTON1_MASK); //左键弹起
} catch (AWTException ex) {
ex.printStackTrace();
}
}
}
我尝试了很多办法,因为mapxtreme 中有很多类都是受保护的,在自己的程序中没法使用,而且,它耦合度非常的高,我曾经想把其中几个类反编译过来使用,结果发现,需要反编译的类越来越多,以至于最后可能要把整个mapxtreme都反编译过来,所以我放弃了这种想法,只好用模拟实现,另外,MapMouseEvent 继承了 MouseEvent 但是没有提供BUTTON 参数,使得左键和中键可以读取到,而右键却不行,所以只好用如此古怪的方法。
2007年1月20日
可能我不应该叫它技术复杂度, 准确的说法应该是"从UFP 到SLOC 的缺省转换率",公布出来供大家参考.
以下数据来自 Jones http://www.spr.com/library/0Langtbl.htm
Access 38
Ada83 71
Ada95 49
AIShell 49
APL 32
Assembly--Basic 320
Assembly--Macro 213
Bassic--ANSI 64
Basic--Visual 32
Basic--Compiled 91
C 128
C++ 55
Cobol(ANSI85) 91
Database--Default 40
Forth 64
Fortran 77
Fortran95 71
HTML 3.0 15
Java 53
Jovial 107
Lisp 64
MachineCode 640
Modula 2 80
Pascal 91
PERL 27
PowerBuilder 16
Prolog 64
Query--Default 13
Simulation--Default 46
Spreadsheet 6
Unix Shell Scripts 107
Visual Basic 5.0 29
VisualC++ 34
第一代语言 320
第二代语言 107
第三代语言 80
第四代语言 20
第五代语言 4
高级语言 64
报表生成器 80
2007年1月9日
我们公司希望通过语言复杂度来决定项目奖金,可是哪一种语言技术含量更高呢? 大家来投一下票吧,
请选出您熟悉的五种以上语言,按复杂度排一下序,(最复杂的排在最前面).谢谢支持!
APL、A+、J 、ASP、Ada 、汇编语言、AWK 、Basic、Fortran 、Brainfuck 、C、C++ 、C#
Clipper 、COBOL 、dBase 、PASCAL、Delphi 、Forth 、FoxPro、F# 、IDL 、Java 、JavaScript
J# 、LISP 、LOGO 、Modula 、Perl 、PHP 、PL/1 、Prolog 、Python 、Ruby 、Scheme 、Smalltalk
SQL 、Tcl/Tk 、Visual Basic 、Visual FoxPro
2006年5月18日
表:
通常表示一个图层的所有信息包括"几何信息"和"属性信息" mapinfo使用( .tab)格式,可以用
文本编辑器打开
MapInfo .tab 文件可以组织成为一组用于构建图层的文件。MapInfo 表包含以下类型的关联文件:
*.tab:此文件说明 MapInfo 表的结构。这是一个说明数据文件格式的小文本文件。
*.dat(.mdb, .dbf, .txt, .xls or .wks):这些文件包含制表数据。
*.map:此文件说明图形对象(如果表没有地图对象,则该文件将不存在)。
*.id:此文件是一个交叉索引文件,链接数据和对象(如果表没有地图对象,则该
文件将不存在)。
*.ind: 这是一个索引文件。使用该索引文件,可搜索地图对象(如果表没有索引,
该文件将不存在)。
这些文件在一起构成 MapXtreme Java 中的单一 .tab 图层。
地图定义:
地图定义说明了构成地图的数据,包括所要显示的数据、存储位置、数据组织为图层的方
式、数据的显示方式(如所用颜色、标注图元、地图缩放设置)。
地图定义的格式为: .mdf
MapInfo Geosets:
MapInfo .tab 文件集称为 geoset。 如果熟悉 MapInfo Professional,可以注意到 geoset
和工作空间的概念类似。工作空间是一个已保存的 MapInfo 表 (.tab) 和窗口的配置。无需打开
单个的 .tab 文件,即可使用其特定的显示设置来打开 geoset (somefile.gst) 和所有图层。
但是, Geosets 在 MapXtreme Java 中的功能受到了限制。这些限制主要是指不可以保存到
远程数据库的 MapInfo .tab 文件。
MapXtreme 不能打开 MapInfo 工作空间(.wor 文件类型)。用 MapInfoProfessional,的
MapInfo Geoset 程序可以将工作空间另存为 geoset,然后用 MapXtreme Java 管理器将它加载到
MapXtreme Java。
Mapinfo Geosets 的格式为 .gst
注:mapinfo 厂家推荐使用 .mdf 在实际使用过程中还是 .gst 使用比较简单
图元
MapXtreme 中的地图由地图对象组成的图层构成。这些地图对象可通过图元对象在 MapXtreme
中访问。此处有三种基本图元类型:
区域: 指覆盖给定区域的闭合对象。可以想像为一个面,其中包括多边形、椭圆和矩形。
区域包括国界、邮政编码边界和销售区域等。
点对象:表示数据的单一位置。就是一个点,不能缩放,其示例包括客户位置、饭店和停车计时器等。
线对象:覆盖给定距离的开放对象。包括直线、折线和弧线等。其示例有街道、河
流和电力线路等。
不同类型的对象可以放在同一个图层中,最常见的是每种对象放在一个单独的图层中,单独放置时,
使用起来比较方便.
样式
MapXtreme Java 地图中的所有图元均显示特定的可见特征,例如颜色或符号类型。相应的
特征也称为样式。MapXtreme Java 包括使用 Java2D API 渲染能力的众多显示属性,其中有
直线和区域的符号刷、虚线和平行线、矢量符号和缩放符号和标记。
标注
标注是 MapXtreme Java 中功能强大的特性之一,可用于增强地图功能,并向用户提供正确
的消息。标注不仅仅局限于添加文本来说明地图的特性。使用 MapXtreme Java,可以控制
字体类型、大小、颜色、位置,并使用光晕和轮廓线等富有创意的效果,为每个图层创建
不同的标注。 标注内容可以通过从图层数据源的一个或多个列取数据的表达式来生成。
2006年3月28日
昨天要用EasyLoader 把数据移到Oracle 9i 上去,移上去后发现 9i 没有 JDK 1.4 和驱动,不能使用命名资源, 只好下个10G 试试.今天把mapXtreme 部署到tomcat5.5 上,发现mapXtreme 自带的打war包工具不太好用,打出来的包解不开,我直接把 MapInfo\MapXtreme-4.7.1\Tomcat-4.1\webapps 目录下的mapviewer471 mapxtreme471 samples471 wmsserver111 四个目录拷贝到 Tomcat 5.5\webapps 下就行了(使用Tomcat5.5必须用JDK 5.0 乱啊!永远不能统一,我真希望大家都别出新版了), 然后打开这四个文件夹,找到web.xml 文件改一下主机地址和端口号就行了.
2006年3月16日
今天找到MapXtreme for Java 服务器崩溃 的原因了(问题见
2月23日的BLOG http://spaces.msn.com/wjoin/),原来MapXtreme在 \MapInfo\MapXtreme-4.7.1\Tomcat-4.1\work\Standalone\localhost 目录下生成了许多临时文件,再次起动服务器的时候有问题,只要把这些文件删除就好了.可以在startup.bat 文件中加入一行:
del C:\MapInfo\MapXtreme-4.7.1\Tomcat-4.1\work\Standalone\localhost /s/q 就行了.
如下所示: (注意路径)
@echo off
set CATALINA_HOME=C:/MapInfo/MapXtreme-4.7.1/Tomcat-4.1
set CATALINA_BASE=C:/MapInfo/MapXtreme-4.7.1/Tomcat-4.1
set JAVA_HOME=C:\j2sdk1.4.2_05
del C:\MapInfo\MapXtreme-4.7.1\Tomcat-4.1\work\Standalone\localhost /s/q
if not "%OS%" == "Windows_NT" goto noTitle
set _START_TC=start "MapXtreme Java Server 4.7"
goto start
:noTitle
set _START_TC=start "MapXtreme Java Server 4.7"
:start
rem start tomcat in the background
%_START_TC% "C:/MapInfo/MapXtreme-4.7.1/Tomcat-4.1/bin/catalina.bat" run -config ..\Tomcat-4.1\conf\server.xml
2006年3月12日
上周新买了台电脑,主板Intel D945PL RN ,装好后速度不错,就是麦克风没音,看网上的贴子说原装的驱动有问题,得下载一个官方最新版的驱动,折腾了一天,驱动删了N回,还是不行,郁闷。
说一说配置吧:
主板:Intel D945PL RN 790
CPU :Intel p4 2.8G EM64 885
内存: 金士顿512M 外频533 400
硬盘:金钻160G ,8M缓存,串口(硬盘声音太大) 610
显示器: GOLDPC 17“宽屏(1024*768) 2200
显卡:双敏6516 128位,128M 450
机箱电源: (长城电源,杂牌小机箱) 360
键鼠:BENQ 套件 95
摄像头:80万像素(比较次,非常次,德亚的) 送
2006年2月24日
今天发现MapXtreme java Edition 4.7.1 中存在一个严重的BUG,在起动MapXtreme服务器以后,在浏览器中打开一个装载了地图的页面,然后shutdown服务器,发现再次起动服务器时无法起动,这个问题浪费了两天的时间,无奈呀.开始我认为是我修改web.xml时出了问题,没想到用MapXtreme的示例程序也出同样的问题.