Maps和Google
Local中所看到的。一个地图只有一个简单的消息窗口,所以在一个指定时间你只能看到一个窗口。
Event
你可以使用Event监听器往你的应用中动态地添加元素。一个对象提供了很多被命名的事件(Event),你的应用可以使用静态方法GEvent.addLis­-tener或者GEvent.bind监听这些事件。例如,下面的代码片断就在用户点击地图窗口时显示一个警告信息。
var map = new GMap(document.getElementById("map"));
GEvent.addListener(map, "click", function() {
alert("You clicked the map");
});
GEvent.addListener方法作为一个第三参数的函数存在,这个方法的使用需要引用一个事件处理函数在里面。如果你像要对一个方法类绑定一个事件,­-你可以使用GEvent.bind。例如:
function MyApplication() {
this.counter = 0;
this.map = new GMap(document.getElementById("map"));
GEvent.bind(this.map, "click", this, this.onMapClick);
}
MyApplication.prototype.onMapClick() {
this.counter++;
alert("You have clicked the map " + this.counter +
this.counter == 1 ?" time.":" times.");
}
var application = new MyApplication();
消息窗口(the info window).
Map
类有一个简单的"消息窗口",可以在地图上方的浮动窗口内显示HTML内容。
最基本的"消息窗口"方法时openInfoWindow,这个方法使用一个点和一个HTML中的Dom元素作为参数。HTML
DOM元素被添加在消息窗口容器之后,消息窗口会显示在这个点上方。
openInfoWindowHtml也很相似,但是它以一个HTML字符串作为一个参数而不是一个DOM元素。
openInfoWindowsXslt以一个XML
DOM元素以及XSLT文档的URL来产生窗口内容,如果用户的浏览器没有下载下来的话,将异步地下载XSLT。
要在一个叠置图层(例如一个标记)上显示消息窗口,你可以通过一个可选的第三参数指定消息窗口
位置和你所指定的点之间的偏移量。例如,如果你的标记有10个象素高,你可以设置该象素便宜为GSize(0,-10).
GMarker类提供openInfoWindow方法来为你处理图标的大小和形状产生的象素偏移,所以你一般不需要为计算你应用中的图标偏移而担心。
叠置图层(Overlays)
叠置图层(似乎应该翻译为叠加物更为妥当)时在地图上的和经纬度坐标绑定的对象,所以它们会随
着你拖动/缩放或者变换地图投影的时候(例如变换地图模式到卫星模式的时候)。
Maps
API提供了两种类型的叠加物,一种是标记,他们是地图上的图标,另外一种是折线,他们是通
过经纬度坐标构成的。
图标和标记
GMarker类的构造器使用一个图标和一个点参数并提供一个小系列的事件对象(如单击)等等。上面的
ovrlay.htm例子就提供了一个简单的创建标记的例子。
创建标记最难的部分是指定图标,它比较复杂,是因为在Maps
API中,有相当多的不同的图像才构成
一个简单的图标。
每个图标有(至少有)一个前景图像和一个阴影图像。阴影图像需要从前景图像的45度角方位创建,
阴影图像的左下角必须与图标前景图像的左下角绑定在一起。阴影需要是一个24位的透明性为alpha
的PNG图像,这样其边缘才能在地图上方看起来正确。
GIcon类需要在你初始化它们的时候指定这些影像的尺寸,这样Maps
API才能创建合适大小的图像元
素。这是指定一个图标所需要的最小量的代码(在这里,图标是google
maps中使用)。
var icon = new GIcon();
icon.image = "/UploadFile/200803/18/C5173324406.png";
icon.shadow = "/UploadFile/200803/18/06173324959.png";
icon.iconSize = new GSize(20, 34);
icon.shadowSize = new GSize(37, 34);
GIcon类提供了另外7个属性,你应该设定这些属性来使你的图标得到最多的浏览器兼容性和功能。例如,imageMap属性指定了图标图形中不透明的部分的形­-状。如果你没有在你的图标对象中设定这个属性,整个的图标图像(包括透明部分)将会在Firefox/Mozilla浏览器中变得可以点击的。查看GIcon­类-参考得到更多的消息。
折线(Polylines)
GPolyline类构造器使用一系列的经纬度二维数组作为参数。你可以指定线的颜色,宽度和透明度。颜色可以用老的HTML样式指定,如"#FF0000".­-GPloyline不懂得以颜色单词,如"red"命名的颜色。例如,下面的代码创建一个两点之间的10象素宽,红色的线。
var polyline = new GPolyline([new GPoint(-122.1419, 37.4419),
&nb


