开发人员指南
MapInfo Corporation
Troy, New York
MapInfo
MapXtreme Java
版
文档内容如有更改,恕不另行通知,文档的任意内容不代表供应商或其销售代表的承诺。
若非得到位于
New York 12180-8399 Troy
的
One Global View
的
MapInfo Corporation
的书面许可,不得以包含影印在内的任何电子或机械的形式或手段,复制或传播本文档的任意部分。
版权所有
© 2003 MapInfo Corporation
。
保留所有权利。
MapInfo
和
MapInfo
徽标以及
MapInfo MapXtreme Java
版均为
MapInfo
公司和
/
或其分
支机构所属的商标。
MapInfo
公司总部:
语音电话:
(518) 285-6000
传真:
(518) 285-6070
销售信息热线:
(800) 327-8627
政府机构销售热线:
(800) 619-2333
技术支持热线:
(518) 285-7283
技术支持传真:
(518) 285-6080
欲获取
MapInfo
公司的联系信息,也可查询以下网页:
http://www.mapinfo.com/contact_us.cfm
。
警示:本软件使用用于
.GIF
图像压缩和
/
或解压的专利
LZW
技术。
(
Unisys
美国专利第
4,558,302
号以及加拿大、法国、德国、意大利、
日本和英国相应专利)。
除非用户事先与
Unisys
签订了书面许可协议,否则通过因特网或通过任意其他在线通信能力传输的压缩或解压的
GIF
图像不得用于出售或通过许可获取收益,或由因特网服务提供商或付费广告使用。
有关相应许可的详细信息,请联系:
Unisys Corporation
Welch Licensing Department C1SW19 Township Line & Union Meeting Roads P.O. Box 500 Blue Bell PA 19424
传真:
215-986-3090
Java
以及所有基于
Java
的商标和徽标均为
Sun Microsystems, Inc.
在美国和其他国家的商标或注册商标。
版权所有
© 2003 Sun Microsystems, Inc
。保留所有权利。
没有特定的书面许可,
Sun Microsystems, Inc.
或捐助人的名称不可用于认可或推广由此软件派生的产品。
本软件按照 “原样”提供,不附带任何形式的担保。
就此免除所有明示或隐含的条件、陈述和担保,包括任意隐含的针对特定目的或非侵害
性目的适用性、适销性的担保责任。
SUN MICROSYSTEMS, INC. ("SUN")
及其许可颁发者就许可使用人因使用、修改或分发本软件或其派生
软件而遭受的任何损失不承担任何责任。
对于因无法使用本软件而导致的直接或间接、特殊或连带、意外或惩罚性损失造成的任意收益、利
益或数据的损失,尽管
SUN
已知存在类似损失的可能
,
但
SUN
或其许可颁发者不承担任何责任。
您确认本软件不是设计、授权或计划用于设计、构建、操作或维护任意核实施。
本产品包括由
Apache Software Foundation (http://www.apache.org)
开发的软件。
版权所有
(c) 1999 Apache Software Foundation
。
保留所有权利。
版权所有
(C) 1991, 1999 Free Software Foundation, Inc.
版权所有
(C) 2000-2003 Jason Hunter & Brett McLaughlin
。
保留所有权利。
“本产品包括
JDOM Project (http://www.jdom.org/)
开发的产品。”
Adobe Acrobat
是
Adobe Systems Incorporated
在美国的注册商标。
在此涉及到的产品名称均是且视为其各自制造商所有的商标。
商标名称均为文档编辑过程所引用,令商标所有人受益并无意侵犯商标的合法
权利。
2003
年
9
月
目录
第
1
章
:
简介
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
产品组件
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
产品目标用户
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
特性
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
优点
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
编程优点
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
使用
MapXtreme Java
可以做什么?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
MapXtreme Java
文档集
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
MapXtreme Java 4.7
版新增特性
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
将
MapXtreme Java 4.5
应用程序移植到
4.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
第
1
部分:使用
MapXtreme Java . . . . . . . . . . . . . . . . . . . . . . . . . 11
第
2
章
:
入门
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
系统要求
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
安装
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
卸载
MapXtreme Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
基础地图数据安装
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
卸载基础地图数据
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Tomcat
部署环境
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
在其他
Web
服务器环境中部署
MapXtreme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
已安装的组件
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
安装字体
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
在没有图形卡的
UNIX
上安装
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
配置故障排除
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
软件复制保护
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
第
3
章
:
应用程序规划
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Web
部署
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
部署选项
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
MapXtreme Java
概览
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
设计时的考虑因素
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
目录
iv
MapXtreme Java 4.7
版
第
4
章
:
地图绘制概念
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
组织数据和地图:表的概览
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
地图定义
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
图元
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
样式
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
标注
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
地图数据分析
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
将数据制为地图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
第
5
章
:
管理
MapXtreme Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
MapXtreme Java
管理器
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
地图定义面板
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Web
应用程序面板
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
命名资源面板
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
连接管理器面板
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
向
MapXtreme Java
管理器添加服务
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
使用
MapXtreme Java
管理器管理数据
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Geosets
和地图定义
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
加载现有的地图定义
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
创建地图定义
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
保存地图定义
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
使用地图工具控制图层
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
图层控制
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
通过图层控制显示选项
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
经由图层控制的标注选项
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
管理命名资源
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
第
6
章
: Web
应用程序构建器
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
使用
Web
应用程序构建器
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
定制
JSP
标记库
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
第
7
章
: MapXtreme JavaBeans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
概览
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
VisualMapJ Bean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
MapTool Beans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
MapToolBar Bean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
LayerControl Bean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
AddTheme Bean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
使用
MapXtreme JavaBeans
创建应用程序
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
目录
开发人员指南
v
SimpleMap Applet
示例
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
在
Applet
或应用程序中包含
MapTools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
配置和控制标准地图工具
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
创建定制
MapTools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
第
8
章
:
编写定制
Servlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Servlet
概览
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
使用
Servlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
瘦客户机
/
胖服务器
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
胖客户机
/
瘦服务器
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
中型客户机
/
中型服务器
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
MapXtremeServlet
数据流
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Servlet
转发
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
示例
Servlet
:
HTMLEmbeddedMapServlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
带有专题功能的样例
Servlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
使用
Servlet
实用程序库
(MapToolkit). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
第
2
部分:
MapJ API
简介
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
第
9
章
: MapJ API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
MapJ
对象
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
创建第一个地图
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
控制地图视图
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
添加图层
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
通过编程保存地图
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
命名地图
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
基本地图之外的其他特性
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
第
10
章
:
在图层中绘制地图
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
作为图层的地图
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Layers
集合:构建地图的模块
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
使用数据提供方定义图层
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
创建定制数据提供方
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
定义
JDBC
图层的注意事项
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
将图层添加到
MapJ Layers
集合
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
数据绑定
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
注释图层 (
Annotation
图层)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
分析图层
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
命名图层
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181