前我曾经解释过创建一个地图的详细步骤 ,但是,真正创建地图的核心步骤也就两行代码:
var map = new GMap2(document.getElementById("mapContainer"));
map.setCenter(new GLatLng(33.0, 106.0), 3);
有这两行代码,你就可以在你的网页上展现你的谷歌地图了。但是,这个是最简单的地图,如果你想要对这个地图做一些小小的变动,更符合你的胃口,可以使用 GMapOptions 来尝试定制地图。
简单的说,GMapOptions 是你在new 一个GMap2 对象的时候,可以直接使用对象变量的形式作为可选参数传递给GMap2 的构造函数,GMapOptions 自己没有构造函数(地图API 中类构造函数的可选参数多用这种形式来定义),比如:
var options = {size:GSize(400, 300), backgroundColor:"#FF0000"};
var map = new GMap2(document.getElementById("mapContainer"), options);
这里options 就是一个GMapOptions ,size 、backgroundColor 就是他的选项。
在 GMapOptions 中,我们可以定义以下这些属性来指定地图的某些特性:
1 ) size
默认情况下,你创建的地图大小就是你给定的地图容器的大小,所以,通常情况下,你需要显式的声明你的地图容器的 width 和 height 属性,否则,地图是不能正常显示的。但是,有了 size 这个可选属性后,你就多了一个选择了。你可以在创建地图的时候直接通过 size 这个属性指定地图的大小,而不需要听命于地图容器了,即使这个地图容器已经显示的定义了 width 和 height 的大小。当然, size 属性对应的值是一个 GSize 类型的数据,比如,如果给定 options={size:GSize(400, 300)} ,那么,你所创建的地图大小就是 400×300 的一个矩形块,而和你指定的容器大小无关,但是地图的左上角和地图容器的左上角还是重合的。
2 ) mapTypes
创建地图后,默认显示的地图类型是普通地图,如果要加上可以选择的卫星地图、地形地图等等其他类型的地图,可以使用 GMap2.setMapType() 方法,但这样往往会罗列一堆的 setMapType 。 GMapOptions 提供了 mapTypes 这个可选项,通过一个数组就可以给地图加上多种支持类型,比如使用 {mapTypes:[G_NORMAL_MAP,G_SATELLITE_MAP,G_PHYSICAL_MAP]} ,你的地图就拥有三种普通、卫星、地形三种类型了。 mapTypes 数组中的第一项是地图加载的默认类型,所以,如果你想默认加载卫星地图,把 G_SATELLITE_MAP 移到数组的第一项就可以了。
3 ) draggableCursor 、 draggingCursor
这两个选项是用来定义地图上你的光标类型,我把它们放在一起介绍不等于它们必须一起使用,你可以单独使用任何一个。其中, draggableCursor 是地图可拖拽状态(默认就是可拖拽的)下的光标, draggingCursor 是拖拽地图时的光标,对应的值和你在 JavaScript 里面设置其他的光标时使用的值一样,比如, {draggableCursor:"crosshair",draggingCursor:"move"} 。当然,你也可以使用 url 形式加上你自己的图标,看你发挥了!
4 ) backgroundColor
在地图图块的图片还没有传送完成之前,地图的显示区域默认会使用灰色填充,这个就是 backgroundColor 可以发挥作用的地方了,你可以把灰色换成其他任何符合 W3C 标准的颜色,比如 {backgroundColor:"#FF0000"}, 不过估计没人会喜欢用这种大红做背景的 :) 。可惜的是这里只能定义 color ,要是这个选项是 background 而不是 backgroundColor ,千方百计想打个 Logo 的兄弟就真能找着好地方了。
5 )googleBarOptions
这个和你在地图上通过GMap2.enableGoogleBar() 时有关系,指定你添加GoogleBar 时的一些默认属性,在以后说GoogleBar 的时候再来专门说吧,定制性还是很强的。