|
|
示例 Servlet:HTMLEmbeddedMapServlet HTMLEmbeddedMapServlet 是 MapXtreme Java 附带的示例 servlet。该文件可见于 / examples/server/Java/servlet。此外, mxjserversamples.jar 中还提供了预编译的版本。 HTMLEmbeddedMapServlet 提供了嵌入这些基本地图绘制元素的 HTML 页面。 • 显示地图的地图框架 • 用于缩小、放大、平移的单选按钮 • 地图宽度框,用户用于键入新地图的宽度 • 应用按钮,用于应用地图宽度 • 图层设置链接,显示可以启用或禁用的图层的表 • 切换,用于放大或缩小地图 • 比例尺 通过打开浏览器,然后键入如下所示的 MapXtremeServlet URL,即可运行 HTMLEmbeddedMapServlet: http://stockholm:8080/samples47/htmlmap
URL 可能会因具体设置方式而有所不同。 示例 Servlet:HTMLEmbeddedMapServlet 146 MapXtreme Java 4.7 版 要自定义这一 servlet,可通过修改 HTMLEmbeddedMapServlet.java 中的适当变量并重新编 译来更改地图的宽度或高度。在修改和重新编译 servlet 时,需要将其 类文件复制到适当目 录。 例如,对于 Tomcat,可能需要将 .class 文件复制到 Tomcat 的 webapps/samples47/WEBINF/ classes 目录(如果是从 jar 运行,可能需要将类复制到 WEB-INF/lib/ mxjserversamples.jar)。 如果编译样例,务必要删除、移动或重命名 mxjserversamples.jar。否则,相应的 servlet 容 器可能会使用源自 jar 文件的 HTMLEmbeddedMapServlet.class 文件,而不是使用您所编译 的类文件。 HTMLEmbeddedMapServlet 代码示例可更改众多设置而无需重新编译。servlet 使用标准的 servlet 初始化参数加载其众多设置。例如,要加载的地图名称(如 world.gst)可使用初始 化参数覆盖。这样,如果只需更改要加载的地图的名称,则只要编辑 init 参数即可,无需 修改 servlet 源代码,。 第 8 章: 编写定制 Servlet 开发人员指南147 下表介绍 HTMLEmbeddedMapServlet 示例预期将要用到的最重要的初始化参数。有关由示 例 servlet 所用初始化参数的完全列表,请查看 HTMLEmbeddedMapServlet.java 中的注释。 如果所用 servlet 容器提供管理员工具(如 JRun 或 JavaWebServer),可使用该工具来设置 初始化参数,如上所示。某些 servlet 容器可能需要在 XML 文件中指定初始化参数,后续 内容对此作出了有关说明。 在 Tomcat 中编辑初始化参数 修改用于 Tomcat 的初始化参数可通过使用文本编辑器编辑 web.xml 文件来实现。以下示例 显示了定义 HTMLEmbeddedMapServlet 的三个初始化参数的 <servlet></servlet> 块,这三个 参数分别是 mappath、filetoload 和 mapxtremeurl init。 <servlet> <servlet-name> htmlmap </servlet-name> <servlet-class> HTMLEmbeddedMapServlet </servlet-class> <init-param> <param-name> mappath </param-name> <param-value> C:\mxt\maps </param-value> </init-param> <init-param> <param-name> filetoload </param-name> <param-value> C:\mxt\maps\world.gst </param-value> </init-param> 初始化参数说明示例 filetoload 将要显示的地图文件(.gst 或 .mdf 文件)的完全路径。 C:/mxt/maps/world.gst mappath geoset (.gst) 地图文件在服务器 上安装目录的路径。不适用于 地图定义。 C:/mxt/maps mapxtremeurl MapXtremeServlet URL /mapxtreme47/mapxtreme 带有专题功能的样例 Servlet 148 MapXtreme Java 4.7 版 <init-param> <param-name> mapxtremeurl </param-name> <param-value> http://hostname/mapxtreme47/mapxtreme
</param-value> </init-param> </servlet> 带有专题功能的样例 Servlet 在位于 /examples/server/java/thematic 的示例目录下还提供了增加版本的示例 servlet HTMLEmbeddedMapServlet,该示例集成了专题影线表示功能。有关向 servlet 添加专题支 持的详细信息,请参阅 HTMLThemeServlet.java 文件。 第 8 章: 编写定制 Servlet 开发人员指南149 使用 Servlet 实用程序库 (MapToolkit) MapXtreme Java 为构建 servlet 提供了帮助程序方法库。借助于 MapJ 对象, MapToolkit 类 可以帮助您构建支持地图的网页公共元素,例如图层控制表单。在示例应用程序 HTMLEmbeddedMapServlet 中使用的方法就取自此类。 注: 此库只适用于编写 servlet 源代码的用户。大部分开发人员喜欢使用 JSP 应用程序, 如果计划在 JSP 中编写应用程序,就无需再使用 servlet 实用程序库。但如果出于 某些原因无法使用 JSP 库(如客户机无法符合 JSP 库所强制的 javascript 要求), 那么就可能需要使用到 servlet 实用程序库。 使用此类来简化 servlet 的开发。该库中包括以下元素: 地图工具 - 单选按钮,确定地图导航元素(缩、放、平移)。 缩放框 - 文本字段,显示当前的地图缩放,允许用户键入新的缩放。 图层控制 - HTML 页面,显示地图中的图层,允许用户选中或清除用于可选性、可见性和 自动标注的设置。 比例尺 - 可查看的元素,显示地图的比例。 地图大小切换 - 用于放大或缩小地图大小的链接。 使用 Servlet 实用程序库 (MapToolkit) 150 MapXtreme Java 4.7 版 Servlet MapToolkit 中的方法 MapToolkit 提供了以下方法。 有关 MapToolkit 类的完全说明,请参阅安装在计算机的 mapxtremejava/docs/devsupport 目录下的 HTML 参考资料。 方法说明 getHTMLLayerListControl 返回表示用作图层控制对话框的 HTML 页的字符串。 applyLayerSettings 更新地图以反映用户在图层控制页中选择的所有选项。 getHTMLZoomControl 返回表示缩放控制的字符串 - 一组 HTML 标记,提供文本字 段用于显示当前地图缩放宽度;以及“提交”按钮,应用用 户所键入的新缩放宽度。 getHTMLMapToolsControl 返回字符串表示一组用于缩、放、平移的单选按钮。 getHTMLScaleBar 返回的字符串表示定义地图比例尺的 HTML 语法。指定特定 宽度,或指定 0,此时比例尺将调整并舍入至大约地图图像宽 度的 1/4。 getToolNumber 返回整数,表示相应于工具名称的工具编号。 getStr 从资源包返回字符串资源。 |
|