其实也不算是地图,只是想在swt的某个窗体上绘制一些点,但是这些点都是有实际的经纬度的。根据实际的经纬度情况,将他们画出来,并且每个点都是可以触发点击事件的。
这里涉及到几个问题我想不通,希望大家多帮帮我。哪怕你没做过,只是讲讲思路也好,现在的地图都是web的,j2se桌面程序的资料实在太少了。
1、窗体上的一点,如何对应经纬度,经纬度都是小数点后N位,而窗体上的点都是整数。
2、我应该参照经纬度来计算出他应在窗体上的哪一点?还是参照窗体上的点来计算出经纬度?
3、如何让这一点可以相应点击事件?我理解“点”应该作为一个类出现,但是如何让他相应点击实践?总不能每个点都是一个label吧?我画1万多个点要用label恐怕要死机了。
4、如果上述问题都可以解决的话,我还想知道关于在窗体上加载地图背景,如何将背景地图与坐标点校准的问题,以及map缩放问题。
一个实际的例子:
比如地铁里面的售票机的那种地图,有很多条线路,没条线路有很多的站点,点击一个站点后就可以买票。如果你有类似的经验麻烦分享下,如果没有那么给我讲一下思路也可以啊。提前拜谢!谢谢了!

解决方案 »

  1.   

    首先地图坐标系和界面上的坐标系是不同的,需要有转换的方式。其次绘图应该用 java2D 来实现,而不能用控件。关于 java2d,这里有一个不错的教程:http://blog.163.com/among_1985/blog/static/275005232009973933282/
      

  2.   

    1.四舍五入  这个感觉没啥解释的
    2,依据经纬度画点  会比较准确  毕竟带小数点的是经纬度  像素你算不出来小数
    3,swt是swing么?如果是的话 很久没用swing了但是最简单脑残的方法画点不如画圆 圆形总可以相应事件了吧
     另外如果个人研究推荐用javaFx