引言
不知道什么时候开始,地图应用已经如此的普及,基于地图的 WEB 应用丰富多 彩。比较著名的有 Google Map、Yahoo Map、Bing Map 等等,其中使用率最高的要属 Google Map,它简单易用,包含丰富的内容,并且具有良好的用户体验。与此同时,地图应用也普及到 桌面应用上,人们试图基于桌面地图开发新应用,用的比较普遍的是 GIS(Geographic Information System),然而 GIS 对比 Google Map 的简单易用、信息丰富,还是有一定的差 距。因此,很多人希望将 Google Map 集成到桌面应用当中,可以让桌面控件与 Google Map 进行数据交互。本文将基于 SWT(Standard Widget Toolkit)桌面技术,集成 Google Map, 制作桌面版 Google Map 的 SWT 控件。
文章首先展示使用开发好的 Google Map 控件 的 使用实例,让读者对目标程序有个大致的印象,接下来简介了重要的 Browser 控件,以及 基于 Browser 控件实现 Google Map 控件的 实现原理,包括需要解决的问题,给出 实现控件 的步骤,最后做简单的总结,告诉读者如此设计控件的优点所在。
实例展示
为 了让读者更好的了解文章的目的,首先展示开发好的 Google Map 控件的使用实例,如图 1。 注意,操作 Google Map 控件的都是 Java 代码,刚打开时地图是最原始的 Google 地图。
图 1. 效果展示
图 1 中,左半部分为 Google Map 控件部份,任意点击地图,可以在点击处添加标记;右 半部分为功能按钮,提供了设置中心点、添加标记、打开提示窗口、绘画直线这些功能。
例子中数据形式是以 ,(逗号)分隔,各个按钮的功能和数据要求如下表。
表 1. 例子使用
功能 | 数据要求 |
设置中心 点 | 经度 , 纬度 |
设置标记 | 经度 , 纬度 |
弹出信息 | 经度 , 纬度 , 弹出信息 |
绘画直 线 | 起始点经度 , 起始点纬度 , 终点经度 , 终点纬度 , 颜色 , 粗细 |