您所在的位置: 首页>>前沿技术>>Web Service>>

基于Google Maps与Ajax在Java Web应用程序中集成地图信息(上)(2)

http://tech.51cto.com  2006-12-26 14:37  朱先忠 编译  51CTO.com  我要评论(0)
  • 摘要:在本文中,我们将讨论如何在你的Java Web应用程序中加入动态的交互式地图功能—以Google Maps API实现web接口,以Ajax提供与服务器端的实时交互。本小系列(上、下篇)意在对Google Maps和Ajax这两个框架作快速入门性介绍,使你能够快速而容易地创建自己的交互式地图程序。
  • 标签:Google Maps  Ajax

最后,在页面的body部分,我们显示该地图。地图的大小和形状都来自于相应的HTML元素。当页面加载(经由onload事件)时地图被初始化。另外,当用户离开页面时,调用GUnload()方法(经由onunload事件)—它会清除地图的数据结构以避免发生在Internet Explorer中的内存漏洞问题。

<body onload="load()" onunload="GUnload()">
<div id="map" style="width: 420px; height: 420px"></div>
</body>

最终的结果地图显示于图1中。

 
图1.一幅简单的地图

三、平移与缩放

现在,既然我们能够成功地显示一幅地图,那么接下来,让我们试着添加一些缩放功能。Google Maps API允许你在你的地图上加入一些不同的控件,包括平移与缩放工具,一个地图比例尺,还有一组按钮允许你改变地图和卫星之间的观察位置。在我们的示例中,我们要添加一个小型平移/缩放控件和一个“概括地图”控件—这将放置一个小型的可折叠的概括性地图。你可以使用addControl()方法来添加这些控件,如下所示:

function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(-41.5, -187.5), 5);
map.addControl(new GSmallMapControl());
map.addControl(new GOverviewMapControl());
}
}

我们的新的地图展示于图2中。

 
图2.一幅带有一些控件的地图

四、在地图中加入标记

Google Maps API并不仅仅是显示一幅地图;你还能够配置更具动态的地图。为此,你需要在你的地图中添加“overlay”(覆盖图)。Overlay是一些对象,它们被显示为地图上的某些位置,并且用户能够与其进行交互。overlay的一个典型的使用是把一个标记放在一个给定位置以指示一些特殊位置或地址。

现在,让我们在地图上添加一个简单的标记。我们想把一个标记显示在Elbonia地区的一个特定的旅游景点上面。在取得该点的纬度和经度后,我们创建一个新的GMarker对象并且使用addOverlay()方法把它添加到地图中:

function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(-41.5, -187.5), 5);
map.addControl(new GSmallMapControl());
map.addControl(new GOverviewMapControl());
var point = new GLatLng(-41.28, -185.22);
marker = new GMarker(point);
map.addOverlay(marker)
}
}

在我们的示例中,当一个用户点击我们的标记时,我们想显示一些细节信息。我们仅把一个监听器添加到标记上并且调用openInfoWindowHtml()方法—它能够通过一个文本气泡窗显示一段HTML消息。

marker = new GMarker(point);
map.addOverlay(marker)
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml("

More details

");
});

现在,既然我们已经了解了有关Google Maps API的基本知识,那么接下来,让我们来看一下如何把一幅Google地图集成到一个服务器端应用程序中。


共3页: 上一页 [1] 2 [3] 下一页
【内容导航】
解析Ajax开发框架 走进Ajax开发应用
Ajax明天会HOT还是OVER?
微软的Ajax:Atlas(ASP.net AJAX)
AJAX 51CTO技术座谈会
Ajax的应用开发
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有