0

我正在尝试将 google map api 实现到我的一个由 jsp 文档生成的网页中,但我无法让它工作。我在 www.lamatek.com/GoogleMaps 上找到了一些 jsp 标签库,但它似乎不起作用。(我的意思是即使他们网站上的示例也不起作用)

有没有人在jsp文档中做过谷歌地图的工作?我真的可以使用一些帮助或建议。(似乎 jsp docuemnt 和 javascript 不能相处)

ps 我可以获得静态的谷歌地图工作,但这不是我的客户想要的。

4

2 回答 2

0

这真的不是 JSP 的问题。问题出在其他地方。也许这只是你自己对 JSP 的无知。你需要意识到 JSP 只不过是一种服务器端视图技术,它提供了一个模板来编写 HTML/CSS/JS。用通常的方式编写“普通的”HTML/CSS/JS 是完全可以的一个 JSP 文件。除非您想动态控制页面流或输出,或者想用单个小标记替换重复/重复的代码块,否则不需要标记库。可以使用表达式语言访问后端数据。

(似乎 jsp 文档和 javascript 不能相处)

如果您的实际问题是 JSP 和 JS 之间的“通信”,那么您需要再次意识到 Java/JSP 基本上运行在服务器机器上,只是生成一个 HTML 页面(里面有 CSS/JS)并将其发送给客户端边。反过来,JS 仅在客户端计算机上运行,​​并且从 JSP 中看不到任何内容。您可以使用 JSP 动态生成 JS 函数/变量。您可以使用 JS 向服务器端触发(a)同步 HTTP 请求,服务器端又可以执行一些 Java 代码。要获得更多见解和示例,您可能会发现这篇文章很有用。

ps 我可以获得静态的谷歌地图工作,但这不是我的客户想要的。

首先,只需将该静态.html文件重命名为动态.jsp文件,它仍然可以工作;)您不需要特定的标记库。如果要动态输出/渲染 HTML/CSS/JS,请使用流控制标签,如 JSTL 核心。如果要动态访问后端数据,请使用 EL。

于 2010-03-02T16:07:32.697 回答
0

我设法让 lamatek 标签库工作,但我必须先修复一个错误,您可以下载源代码,修复错误(见下文)并创建 googlemaps.jar 文件。

谷歌地图团队似乎已更改为地图类型常量:

旧/新
G_HYBRID_TYPE / G_HYBRID_MAP
G_SATELLITE_TYPE / G_SATELLITE_MAP
G_MAP_TYPE / G_NORMAL_MAP

在文件 com/lamatek/tags/google/GoogleMapTag.java 中更改第 928、931 和 934 行,替换上述常量。

//com.lamatek.tags.google.GoogleMapTag lines 927 - 935
if (type.equalsIgnoreCase("hybrid")) {
    out.println("\t\t" + id + ".setMapType(G_HYBRID_MAP);");
}
else if (type.equalsIgnoreCase("satellite")) {
    out.println("\t\t" + id + ".setMapType(G_SATELLITE_MAP);");
}
else {
    out.println("\t\t" + id + ".setMapType(G_NORMAL_MAP);");
}

应该这样做!

根据要求,这里是 jar 文件(使用 JDK 1.6 构建)

/比约恩·达里

于 2010-04-15T17:05:35.867 回答