Google Maps 學習筆記(一)2014.06.04

1.<body onload="加載地圖的函數" onunload="GUnload()">php

2.new GMap2(container,opts) //容器;控制更復雜的地圖特性html

3.setCenter()和panTo() // GMaps.setCenter(point,zoomlevel,opts) //new GLatLng(緯度,經度);0~17 //GMaps2.panTo(point)數組

4.GMaps.panBy()//移動相對距離的函數服務器

5.地圖類型:普通地圖(G_NORMAL_MAP)、衛星地圖(G_SATELLITE_MAP)、混合地圖(G_HYBRID_MAP) // GMap2.setMapType()dom

6.控件: GControl()異步

精簡地圖控件GSmallMapControl()、完整地圖控件GLargeMapControl()、精簡縮放控件GsmallZoomControl()、比例尺控件GScaleControl()、地圖類型控件GMapTypeControl()ide

map.addControl(new GSmallMapControl(),position); //參數position用於定義控件在地圖上的位置函數

7.if(GBrowserIsCompatible())google

8.定義控件位置 GControlPosition()對象   new GControlPosition(anchor,offset);//anchor:控件位置的參照點,枚舉類型     G_ANCHOR_TOP_LEFT、G_ANCHOR_TOP_RIGHT、url

G_ANCHOR_ BOTTOM_LEFT、G_ANCHOR_BOTTOM_RIGHT  ; offset: new GSize(x,y) ;x:控件相對於參照點的最近水平距離,y:控件相對於參照點的最近垂直距離 單位爲像素px

9.new GMarker(point,opts)

10.自定義GMarker()對象

//建立一個無名類

{s

    property1:value1;

    property2:value2;

    ...

}

icon屬性,GIon()對象;默認G_DEFAULT_ICON;

示例代碼:

myICon = new GIon();//建立自定義的GIon

myICon.image = "http://labs.google.com/ridefinder/images/mm_20_green.png";//前景圖片

myICon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";//陰影圖片

myICon.iconSize = new GSize(12,20);//前景圖片大小,長*寬

myICon.shadowSize = new GSize(22,20);//陰影圖片大小,長*寬

myICon.iconAnchor = new GPoint(6,20);//myIcon 錨定點相對於myIcon圖片左上角的像素距離

myICon.infoWindowAnchor = new GPoint(5,1);//信息窗口相對於myIcon圖片左上角的像素距離

var marker1 = new GMarker(geoPoint1,{icon:myIcon,title:"把鼠標移上來,看看有什麼"});//自定義GmarkerOptions的icon屬性//自定義GMarkerOptions的title屬性

11.信息框:

GMarker.openInfoWindowHtml(point,content,opts?)//content:HTML字符串;opts:GInfoWindowOptions對象(無名類),能夠省略

GMarker.openInfoWindow(content,opts?)//content:DOM對象

代碼示例:

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

div.style.color = "green";

div.innerHTML = "openInfoWindow建立的GInfoWindow";

marker0.openInfoWindow(div);

12.多標籤信息窗口

多標籤信息窗口GInfoWindowTabs()對象      new GInfoWindowTab(lable,content)//lable爲標籤名,普通字符串最大長度爲10    content:標籤內顯示的內容(html字符串或dom對象)

對於固定內容的標籤數組直接使用「[...]」

var tabs = [new GInfoWindowTab("Tab1","This is tab1"),

      new GInfoWindowTab("Tab2","This is tab2"),

]

對於內容須要更新的標籤數組,則能夠先定義數組,而後賦值。

var tabs = [];

tabs[0] = new GInfoWindowTab("Tab1","This is tab1");

tabs[1] = new GInfoWindowTab("Tab2","This is tab2");

...

tabs[N] = new GInfoWindowTab("TabN","This is tabN");

new Array()的方法定義也是能夠的。

13.在GMarker()上顯示 GInfoWindowTabs()多標籤信息窗口對象

GMarker.openInfoWindowTabsHtml(tabs,opts?)

GMarker.openInfoWindowTabs(tabs,opts?)

注:注意標籤內容的寬度,若是不設置寬度,當標籤數量較多時,多窗口將發生錯位,以下圖:

14.關閉信息窗口:closeInfoWindow()

15.移除GControl()控件:removeControl(control)

16.移除GMarker()地標:removeOverlay(overlay)       clearOverlays()

17.loadGeoInfo()接口  //服務器端數據調用接口

18.獲取服務器端查詢結果

  異步調用:GXmlHttp對象    GDownloadUrl()函數

(1)使用GXmlHttp對象 :

代碼示例:

var request = GXmlHttp.create();//建立GXmlHttp對象

request.open("GET","myfile.txt",true);//打開GXmlHttp      true:異步爲真

request..onreadystatechange() = function()

{

  //判斷狀態,可根據不一樣狀態作不一樣的相應,

  if(requset.readyState==4)//徹底加載的狀態4

  {

    alert(request.responseText);

  }

}

request.sent(null);

(2)使用GDownloadUrl()函數  //簡化版的異步處理函數,只能使用Get方法,不判斷加載狀態,只是在徹底加載後調用回調函數。

GDownloadUrl(url,onload)//url:    onload:徹底加載後的回調函數

GDownloadUrl("search.php?q="+q,function(data){

  eval(data);//直接用eval執行返回的Javascript字符串

})

相關文章
相關標籤/搜索