之前我曾經解釋過建立一個地圖的詳細步驟,但是,真正建立地圖的核心步驟也就兩行代碼:
var map = new GMap2(document.getElementById("mapContainer"));
map.setCenter(new GLatLng(39.970981,116.314108), 16);
有這兩行代碼,你就可以在你的網頁上展現你的Google地圖了。但是,這個是最簡單的地圖,如果你想要對這個地圖做一些小小的變動,更符合你的胃口,可以使用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"}。
5) googleBarOptions
這個和你在地圖上通過GMap2.enableGoogleBar()時有關係,指定你添加GoogleBar時的一些預設屬性,定製性還是很強的。