小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Google Map API使用詳解(十三)——使用Google Map API實現(xiàn)自定義控件

 damnit 2011-02-02

使用谷歌地圖API定義自定義的控件其實非常簡單,看看網(wǎng)頁,這就是一個自定義的控件。

先看一段Hello World的代碼

function MyControl(){}

MyControl.prototype = new GControl();

MyControl.prototype.initialize = function(map){

this.map = map;

var container = map.getContainer();

var label = document.createElement("div");

container.appendChild(label);

lable.innerHTML = "Hello World";

return label;

}

MyControl.prototype.getDefaultPosition = function(){

return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(50, 10));

}

上面這段代碼中,MyControl就是一個自定義的控件了,在需要的時候,和添加其他默認(rèn)控件一樣,使用map.addControl(new MyControl())就可以在地圖上添加這個自定義的控件了,只不過這個控件現(xiàn)在也沒什么實際用處,就是在你的地圖容器的頂部顯示一個Hello World的文本,與地圖沒什么交互。

下面來詳細(xì)解釋一下這段代碼:

第一行定義了一個MyControl類;

接下來,把這個類定義為GControl類的子類,就是把MyControlprototype指定為GControl類的實例/對象;

后面的兩個方法initiallizegetDefaultPosition是繼承GControl類的時候必須實現(xiàn)的兩個方法,API文檔里定義GControl是接口類,所以可以把這兩個方法認(rèn)為是抽象方法,就不難理解為什么必須要實現(xiàn)了。需要注意的是,這兩個方法我們只負(fù)責(zé)實現(xiàn),但是不需要我們?nèi)ワ@式的調(diào)用,在向地圖上添加控件時API類庫會自動調(diào)用這兩個方法。

方法initialize接受一個參數(shù)map,就是你創(chuàng)建地圖時new出來的GMap2對象。在這個方法中,你使用map.getContainer()方法取得放置地圖的DOM容器,然后,你就可以向這個DOM容器里添加任何你想加入的DOM元素了。在上面的示例中我創(chuàng)建了一個div元素,用來顯示Hello World,但是,你可以在這里加入任何你想添加的DOM元素,并且可以定義它們的行為,也就是說,這里就是你可以自由發(fā)揮的天地了,無論你是想顯示動態(tài)的信息,還是來控制地圖,比如右邊地圖里的狀態(tài)監(jiān)控欄。initialize方法最后需要返回你所創(chuàng)建的最外層的DOM元素,這個千萬別忘了。

方法getDefaultPosition的作用是定義你的控件在地圖容器里的位置,實現(xiàn)起來就更簡單了,你可以直接把我這里的代碼復(fù)制過去,改成你需要定位的地方就可以了。GControlPosition的第一個參數(shù)是你的控件的錨點,只能使用G_ANCHOR_TOP_LEFT、G_ANCHOR_TOP_RIGHT、G_ANCHOR_BOTTOM_LEFT、G_ANCHOR_BOTTOM_RIGHT這四個代表上左、上右、下左、下右這四個角的常量,后一個參數(shù)使用GSize來定義你的控件距離地圖容器邊界的偏移量,第一個參數(shù)是橫向偏移、第二個參數(shù)是縱向偏移。到這里一個自定義的控件就完成了。譬如我們還可以用自己的LOGO覆蓋GoogleLOGO,不過不建議這樣做!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多