代码之家  ›  专栏  ›  技术社区  ›  iceman

Java中交互式地图查看器桌面应用

  •  4
  • iceman  · 技术社区  · 15 年前

    我想构建一个桌面应用程序-一个地图查看器,如下所示: http://sunsite.ubc.ca/UBCMap/ 在Java中。每当有人将鼠标悬停在地图上的某个建筑物上时,应该会有一个气球工具提示,在地图上说一些关于该建筑物的信息,比如它的办公电话号码等,并且该建筑物应该在二维地图上发光。有人能给我一些指导,说明我应该在爪哇使用什么框架来构建这样的东西(例如JavaFX)?是否有类似的示例代码?

    4 回复  |  直到 8 年前
        1
  •  1
  •   Joel Carranza    15 年前

    如果你真正拥有的只是一个图像,你想要它上面的工具提示-这里是一个30秒的描述。

    • 子面板
    • 重写paint()方法以绘制图像
    • 将一些形状对象(多边形、矩形等)定义为“建筑物”以及文本工具提示字符串。
    • 重写jpanel子类中的gettooltip。每次调用时,迭代您的shape对象,测试点是否在shape中(shape有此方法)。返回适合形状的工具提示,如果鼠标未悬停在形状上,则返回空值
    • 如果你想要滚动效果,注册mousEmotionListener并使用它来找到“悬停”形状。调用repaint()并以某种特殊的方式呈现“悬停”。
    • 繁荣!你完蛋了

    提示:您很可能需要在tooltipmanager中注册jpanel。

        2
  •  1
  •   Joel Carranza    15 年前

    如果你的地图和你链接到的例子一样简单,我强烈建议避免使用Java(或者JavaFX完全)。您可以使用任何JavascriptDHTML映射API执行您想要的操作。参见

    • 谷歌地图开发技术
    • 开放层

    Java是多余的。小程序的加载速度很慢,在不同数量的环境下很难正确部署。与其自己编写和维护整个应用程序,不如发布一个kml文件(或其他等效文件)并利用其他人的映射。

        3
  •  0
  •   Bill the Lizard Hacknightly    12 年前

    JavaFX是这类应用程序的合适候选者。JavaFX脚本语法需要一点适应,但是一旦您达到了速度,就很容易创建图形/GUI组件。

    此外,您可以将现有Java API和Web服务挂钩,这可能对您的应用程序有用。

    退房 here here 对于类似于您描述的应用程序。(还有用于javafx地图的Google)

    关于JavaFX的一个警告是,它还处于生命的早期阶段——因此,我们希望能够遇到bug,并被警告有可能在以后的版本中破坏更改。

        4
  •  0
  •   Vitaly Eremenko    8 年前

    看看 JxMaps 产品。它提供了将交互式地图添加到Java桌面应用程序的功能。