如何在国家/地区地图上显示和捕获用户选择

时间:2010-06-28 14:30:49

标签: java google-maps maps

我们希望按大陆(例如亚洲,欧洲,南美洲,非洲......)显示所有国家/地区,并捕获非洲大陆特定国家/地区的用户选择。有哪些选项可以实现这一目标?这与在freerice中识别地图上的国家非常相似。我不确定谷歌地图以外的可用选项,但不确定是否可以使用谷歌地图api完成。需要一些指导。

编辑:我们是一个基于Java EE 5的应用程序,使用java,seam,richfaces开发并部署在jboss 5.1容器上

3 个答案:

答案 0 :(得分:2)

我假设您要为用户创建可点击的地图以选择国家/地区,例如this Map

可以使用HTML图像映射或Flash来完成。在这两种情况下,您都需要手动定义可点击的热点。

如果您只有几个可选区域(而不是地球上的每个国家/地区),使用Google地图可以使用自定义标记(将其与您的网站样式混合),每个标记都有自己的点击处理程序来处理选择。

答案 1 :(得分:1)

您可以使用HTML和CSS完成此操作。也许可以使用JavaScript来实现您的功能。

这是一个例子: http://www.cssplay.co.uk/menu/imap.html

答案 2 :(得分:0)

我不明白你问题的投票结果。当然,它是非常模糊的,因为你没有指定将用于此的接口(它是一个java桌面客户端,基于javascript的解决方案...)

我只能就Java Swing案例提出建议。您最好的选择是首先找到每个国家不同形状的世界矢量地图(或自己制作一个)。然后你可以将形状转换为java2D形状,创建一个可缩放的JPanel(比它听起来更容易信任我),并且只需用contains(Point p)方法对所有国家形状进行鼠标点击检查。 (当然你必须考虑面板的变焦变换,但正如我所说的那样,它比听起来容易得多)。

我担心我无法用代码示例详细说明,因为即使它“比听起来更容易”,也不是一个五分钟的解决方案:)