Google Map Api 谷歌地圖接口整理

          一:基本知識:


          1. 使用谷歌地圖 API 的第一步就是要注冊一個 API 密鑰,需要注重一下兩點(diǎn):


              1.假如使用 API 的頁面還沒有發(fā)布,只是在本地調(diào)試,可以不用密鑰,隨便用個字符串代替就可以了。


              2.API 密鑰只對網(wǎng)站目錄或者域有效。對不同域的網(wǎng)頁,需要用這些域分別注冊不同的密鑰


          2.頁面引用javascript文件<script
          src="http://ditu.google.com/maps?file=api&hl=zh-CN&v=2&key=abcdefg"
          type="text/javascript"></script>


             URL(http://ditu.google.com/maps?file=api&hl=zh-CN&v=2&key=abcdefg)解析:


               1.ditu.google.com:也可以用ditu.google.cn,假如你需要在地圖上顯示大陸以外的具體地圖,就用
          maps.google.com


               2.file=api 這個是請求API 的JS 文件用的,固定的格式。


               3.hl=zh-CN


                這個是在設(shè)定地圖上除了地圖圖片以外的諸如控件名稱、版權(quán)聲明、使用提示等所需要顯示文本的語言版本時候用的,假如沒有指定這個參數(shù)就使用 API
          的默認(rèn)值,對itu.google.com 來說,默認(rèn)是中文簡體aps.google.com 默認(rèn)的是英文。


               4. v=2


                這個是用來指定需要導(dǎo)入的 API 類庫的版本號,可以有四種設(shè)定方式:


                  v=2.s  穩(wěn)定版本,更新最慢,但是最可靠;


                  v=2 當(dāng)前版本(只用主版本號),更新速度和可靠性介于 s 和 x 之間


                  v=2.x 最新版本,更新最快,包括最新功能,可能沒有當(dāng)前版本可靠;


                  v=2.76 指定具體版本。不建議使用。


              注:目前谷歌地圖 API的主版本號是2,當(dāng)API升級時舊版本只能繼續(xù)使用一個月,所以要及時更改主版本號,版本號改變會在Google
          Code和Maps API討論組發(fā)布相關(guān)信息


               5.key=abcdefg這個是設(shè)定你注冊的 API 密鑰.


           


          二:核心類:


             google地圖API主要包括:地圖類(GMap2)、標(biāo)記類(GMarker)、標(biāo)記選項類(GMarkerOptions)、折線類
          (GPolyline)、經(jīng)緯度(GLatLng)、命名空間(GEvent)、坐標(biāo)類(GPoint)、控件的大小類GSize、
          interface(GControl)、地圖類型類(GMapType)、地圖上面的圖標(biāo)類(GIcon)、窗體類(GInfoWindow)、窗體選 項類
          GInfoWindowOptions)、接口GOverlay、枚舉GMapPane等等


             注:標(biāo)記和折線都是地圖的覆蓋物


          1.GMap2:地圖類,下面實例化一張地圖:


             var map= new GMap2(container: DOM_Div,opts: Options);


             構(gòu)造函數(shù)的參數(shù)如下:


              參數(shù)       是否必要      值類型         定義


              container      是          DOM_Div    DOM元素,是個Div


              opts          可選        Options    構(gòu)造函數(shù)選項


            


              GMap2包含的方法:


               1.設(shè)置狀態(tài)的方法:


                 enableDragging():設(shè)置地圖可以被拖動。


                 disableDragging():禁止地圖被拖動。


                 draggingEnabled():返回地圖是否能夠被拖動的布爾值。假如能夠拖動,返回"真";否則返回"假"。


                 enableInfoWindow():設(shè)置地圖信息窗口可以彈出。


                 disableInfoWindow():禁止地圖信息窗口彈出。


                
          infoWindowEnabled():返回地圖信息窗口是否能夠被彈出的布爾值。假如能夠彈出,返回"真";否則返回"假"。這個方法通常作為檢驗之用。


                 enableDoubleClickZoom():設(shè)置可以雙擊縮放地圖,左鍵雙擊為放大,右鍵雙擊為縮小(默認(rèn))。


                 disableDoubleClickZoom():禁止雙擊縮放地圖,Google Earth 默認(rèn)為禁止雙擊縮放。


                 doubleClickZoomEnabled():返回地圖是否可以雙擊縮放的布爾值。假如能夠雙擊縮放,返回"真";


                 enableContinuousZoom():設(shè)置地圖可以連續(xù)平滑地縮放。


                 disableContinuousZoom():禁止地圖連續(xù)平滑地縮放。


                
          continuousZoomEnabled():返回地圖是否可以連續(xù)平滑地縮放的布爾值。假如能夠連續(xù)平滑地縮放,返回"真";否則返回"假"。


                 enableScrollWheelZoom():設(shè)置地圖可以由鼠標(biāo)滾輪控制縮放。


                 disableScrollSheelZoom():禁止由鼠標(biāo)滾輪控制地圖縮放。


                
          scrollWheelZoomEnabled():返回地圖縮放是否可以由鼠標(biāo)滾輪控制。假如能夠由鼠標(biāo)滾輪控制縮放,返回"真";否則返回"假"。


                 isLoaded() 返回類型布爾值 假如地圖已經(jīng)被setCenter()初始化,則返回true.


              2.得到地圖的數(shù)據(jù)信息方法:    


                 getCenter() 返回類型GLatLng 返回地圖中心點(diǎn)的地圖坐標(biāo).


                 getBounds() 返回類型GLatLngBounds 返回地圖視口范圍的矩形區(qū)域的地理坐標(biāo).


                 getBoundsZoomLevel(bounds)
          返回類型數(shù)字返回顯示指定的區(qū)域需要的最適合的地圖縮放等級.該縮放等級是根據(jù)當(dāng)前的地圖類型計算出來的,假如還沒有指定地圖類型,將使用地圖類型數(shù)組之中的第一項.


                 getSize() 返回類型GSize 返回地圖視口的像素大小.


                 getZoom() 返回數(shù)字 返回當(dāng)前的縮放等級.


                 getContainer():取得地圖的容器


                 getCurrentMapType()得到當(dāng)前的地圖類型。注重得到的是地圖類型GMapType對象,而不是對象名稱


              3.設(shè)置地圖:


                setCenter(center, zoom?,
          type?)將地圖視圖切換到指定的中心點(diǎn),也可以同時設(shè)置可選的地圖縮放等級和地圖類型.地圖類型必須已經(jīng)添加到地圖.


                addMapType()該方法必須在構(gòu)造地圖實例之后初始化地圖狀態(tài)時立即執(zhí)行.在地圖剛剛構(gòu)造的時候調(diào)用地圖其他的方法都將會產(chǎn)生錯誤.


                panTo(center) 設(shè)置地圖的中心點(diǎn)到指定的坐標(biāo),假如該點(diǎn)已經(jīng)在當(dāng)前的視口之中,則地圖中心會滑動到該位置.


                panBy(distance) 地圖滑動指定的像素距離.


                panDirection(dx, dy) 以指定的方向滑動地圖寬度一半的距離.+1代表右方和下方,-1代表左方和上方.


                setZoom(level)設(shè)置地圖的縮放等級到給定值.


                zoomIn()縮小地圖(將地圖的縮放等級增加1).


                zoomOut()放大地圖(將地圖的縮放等級減少1).


               
          savePosition()保存地圖當(dāng)前的位置和縮放等級,以供以后通過returnToSavedPosition()方法來返回當(dāng)前視圖.


                returnToSavedPosition()返回到上一次通過savePosition()保存的地圖視圖.


               
          checkResize()檢查地圖容器(container)的大小是否已經(jīng)發(fā)生變化,在地圖容器DOM大小可能發(fā)生變化的時候調(diào)用該方法,以便地圖能進(jìn)行自動調(diào)整.


               
          setMapType(GMapType):設(shè)置地圖類型:大概有三種類型:G_NORMAL_MAP,G_SATELLITE_MAP,G_PHYSICAL_MAP,


                removeMapType(GMapType)從當(dāng)前地圖上刪除一個地圖類型。


                enableGoogleBar():設(shè)置地圖上的搜索欄



              4.有關(guān)地圖覆蓋物的方法:


                addOverlay(overlay) 在地圖上添加一個標(biāo)注并觸發(fā)地圖的addoverlay事件.


                removeOverlay(overlay) 在地圖上刪除指定的標(biāo)注.假如該標(biāo)注確實在地圖上.


                clearOverlays()刪除所有地圖上的標(biāo)注.



              5.有關(guān)信息浮窗的方法:


               openInfoWindow(point, node,
          opts?)在指定的地理點(diǎn)打開一個簡單的信息浮窗.滑動地圖以保證打開的信息浮窗可見.信息浮窗的內(nèi)容以DOM節(jié)點(diǎn)的形式給定.


               openInfoWindowHtml(point, html,
          opts?)在指定的地理點(diǎn)打開一個簡單的信息浮窗.滑動地圖以保證打開的信息浮窗可見.信息浮窗的內(nèi)容以HTML文本的形式給定.


               openInfoWindowTabs(point, tabs,
          opts?)在指定的地理點(diǎn)打開一個分標(biāo)簽的信息浮窗.滑動地圖以保證打開的信息浮窗可見.信息浮窗的內(nèi)容以DOM節(jié)點(diǎn)的形式給定.


               openInfoWindowTabsHtml(point, tabs,
          opts?)在指定的地理點(diǎn)打開一個分標(biāo)簽的信息浮窗.滑動地圖以保證打開的信息浮窗可見.信息浮窗的內(nèi)容以HTML文本的形式給定.


               showMapBlowup(point, opts?)在指定的地理點(diǎn)打開一個顯示指定點(diǎn)更近的視圖的信息浮窗.


               closeInfoWindow()關(guān)閉當(dāng)前打開的信息浮窗.


               getInfoWindow() 返回類型GInfoWindow
          返回地圖的信息浮窗對象.假如當(dāng)前并不存在信息浮窗,則創(chuàng)建一個信息浮窗而不顯示它.這個操作并不被enableInfoWindow()影響.


            


             6.控件的方法:


              addControl(GControl)添加一個google地圖的控件


              RemoveControl(GControl)刪除一個google地圖的控件


             7. 示例:


                var map = new
          Map2(document.getElementByIdx_x_x("map"),{size:GSize(200,200),
          backgroundColor:"#FF0000"});


                map.addControl(new GSmallMapControl());//添加一個地圖左側(cè)的縮放按鈕控件


                map.addControl(new GMapTypeControl());//添加地圖類型控件包括普通地圖、衛(wèi)星地圖、混合地圖


                map.setCenter(new GLatLng(37.4419, -122.1419), 13);
          //實例化一個維度為37.4419、經(jīng)度為 -122.1419的經(jīng)緯度實例,然后設(shè)置地圖的中心。地圖縮放值為13



                // Add 10 markers in random locations on the map


                var bounds = map.getBounds();//得到地圖四面的邊界值


                var southWest = bounds.getSouthWest();//西南的經(jīng)緯度


                var northEast = bounds.getNorthEast();//東北的經(jīng)緯度


                var lngSpan = northEast.lng() - southWest.lng();//經(jīng)度差


                var latSpan = northEast.lat() - southWest.lat();//維度差


                //實例化一個在本張地圖中的一個經(jīng)緯度


                var point = new GLatLng(southWest.lat() + latSpan * Math.random(),


                                    southWest.lng() + lngSpan * Math.random());


                var marker = new GMarker(point);//實例化一個標(biāo)點(diǎn)



                //給標(biāo)點(diǎn)加click事件,當(dāng)點(diǎn)擊標(biāo)點(diǎn)時彈出一個信息窗


                GEvent.addListener(marker, "click", function() {


                marker.openInfoWindowHtml("<b>hello</b>");


                });


               map.addOverlay(marker);//把標(biāo)點(diǎn)添加到地圖覆蓋物


            


             2.GMapOptions類:


          這個類型包含以下4個屬性


              1.size


               默認(rèn)情況下,你創(chuàng)建的地圖大小就是你給定的地圖容器的大小,所以,通常情況下,你需要顯式的聲明你的地圖容器的width和height屬性,否則,地圖
          是不能正常顯示的,但是,有了size這個可選屬性后,你就多了一個選擇了。你可以在創(chuàng)建地圖的時候直接通過size這個屬性指定地圖的大小,而不需要聽
          命于地圖容器了,即使這個地圖容器已經(jīng)顯示的定義了width和height的大小。當(dāng)然,size屬性對應(yīng)的值是一個GSize類型的數(shù)據(jù),比如,假如
          給定options={size:GSize(400, 300)},那么,你所創(chuàng)建的地圖大小就是400×300的一個 矩形塊,而和你指定的容器大小無關(guān)。



             2.mapType


              創(chuàng)建地圖后,默認(rèn)顯示的地圖類型是普通地圖,假如要加上可以選擇的衛(wèi)星地圖、地形地圖等等其他類型的地圖,可以使用
          GMap2.setMapType()方法,但這樣往往會羅列一堆的setMapType。GMapOptions提供了mapTypes這個可選項,通
          過一個數(shù)組就可以給地圖加上多種支持類型,比如使用{mapTypes:
          [G_NORMAL_MAP,G_SATELLITE_MAP,G_PHYSICAL_MAP]}


          ,你的地圖就擁有三種普通、衛(wèi)星、地形三種類型了。mapTypes數(shù)組中的第一項是地圖加載的默認(rèn)類型,所以,假如你想默認(rèn)加載衛(wèi)星地圖,把G_SATELLITE_MAP移到數(shù)組的第一項就可以了。



             3.draggableCursor、draggingCursor


              這兩個選項是用來定義地圖上你的光標(biāo)類型,我把它們放在一起介紹不等于它們必須一起使用,你可以單獨(dú)使用任何一個。其中,draggableCursor
          是地圖可拖拽狀態(tài)(默認(rèn)就是可拖拽的)下的光標(biāo),draggingCursor是拖拽地圖時的光標(biāo),對應(yīng)的值和你在JavaScript里面設(shè)置其他的光
          標(biāo)時使用的值一樣,比如,


          {draggableCursor:"crosshair",draggingCursor:"move"}。當(dāng)然,你也可以使用url形式加上你自己的圖標(biāo)


             4.backgroundColor


             
          在地圖圖塊的圖片還沒有傳送完成之前,地圖的顯示區(qū)域默認(rèn)會使用灰色填充,這個就是backgroundColor可以發(fā)揮作用的地方了,你可以把灰色換成其他任何符合W3C標(biāo)準(zhǔn)的顏色


            5.googleBarOptions


              這個和你在地圖上通過GMap2.enableGoogleBar()時有關(guān)系,指定你添加GoogleBar時的一些默認(rèn)屬性


            示例:


             var options = {size:GSize(400, 300), backgroundColor:"#FF0000"};


             var map = new GMap2(document.getElementByIdx_x_x("mapContainer"),
          options);



          3.GMarker類


                構(gòu)造函數(shù):


                1.GMarker(point, icon?, inert?)
          在指定位置point使用指定圖標(biāo)icon或G_DEFAULT_ICON創(chuàng)建一個標(biāo)記.假如inert參數(shù)為true,該標(biāo)記將不可點(diǎn)擊而且沒有任何參數(shù).(2.50版本不再支持)


                2.GMarker(point, opts?)
          在指定位置point使用指定的選項GMarkerOptions創(chuàng)建一個標(biāo)記.默認(rèn)標(biāo)記能夠點(diǎn)擊并使用默認(rèn)圖標(biāo)G_DEFAULT_ICON. (從
          2.50開始支持)


                Gmarker包含的主要方法:


                1.openInfoWindow(content, opts?) 在標(biāo)記圖標(biāo)之上打開地圖信息窗口。信息窗口的內(nèi)容為 DOM 節(jié)點(diǎn)。僅適用于
          GInfoWindowOptions.maxWidth 選項。


                2. openInfoWindowHtml(content, opts?) 在標(biāo)記圖標(biāo)之上打開地圖信息窗口。信息窗口的內(nèi)容顯示為包含 HTML
          文本的字符串。僅適用于 GInfoWindowOptions.maxWidth 選



          項。


                3.getIcon() GIcon 如構(gòu)造函數(shù)所設(shè)置的,返回此標(biāo)記的 icon。


                4.getTitle() String 如構(gòu)造函數(shù)通過 GMarkerOptions.title
          屬性所設(shè)置的,返回此標(biāo)記的標(biāo)題。假如未傳入標(biāo)題,則返回“undefined(未定義)”(自 2.85 開始)


                5.getPoint() GLatLng 如構(gòu)造函數(shù)或 setPoint() 所設(shè)置的,返回此標(biāo)記錨定的地理坐標(biāo)。(自 2.88
          開始建議不要使用)


                6.getLatLng() GLatLng 如構(gòu)造函數(shù)或 setLatLng() 所設(shè)置的,返回此標(biāo)記錨定的地理坐標(biāo)。(自 2.88
          開始)


                7.setPoint(point) none 設(shè)置此標(biāo)記所錨定點(diǎn)的地理坐標(biāo)。(自 2.88 開始建議不要使用)


                8.setLatLng(point) none 設(shè)置此標(biāo)記所錨定點(diǎn)的地理坐標(biāo)。(自 2.88 開始)


                9.enableDragging() none 答應(yīng)在地圖上拖拽標(biāo)記。對于函數(shù),必須已經(jīng)用 GMarkerOptions.draggable
          = true 初始化標(biāo)記。


                10.disableDragging() none 禁止在地圖上拖拽標(biāo)記。


                11.draggable() Boolean 假如已使用 GMarkerOptions.draggable = true
          通過構(gòu)造函數(shù)對標(biāo)記進(jìn)行了初始化,則返回 true。否則,返回 false。


                12.draggingEnabled() Boolean 假如當(dāng)前答應(yīng)用戶在地圖中拖拽標(biāo)記,則返回 true。


                13.setImage(url) none 請求將 url
          指定的圖像設(shè)置為此標(biāo)記的前景圖。注:不調(diào)整打印圖像和陰影圖像。因此,此方法主要是為了達(dá)到高亮顯示或變暗顯示效果,而不是徹底改變標(biāo)記的外觀。(自 2.75
          開始)


                15.hide() none 假如當(dāng)前標(biāo)記可見,則隱藏標(biāo)記。注:假如當(dāng)前標(biāo)記可見,則此函數(shù)會觸發(fā)
          GMarker.visibilitychanged 事件。(自 2.77 開始)


                16.show() none 假如當(dāng)前標(biāo)記不可見,則顯示標(biāo)記。注:假如當(dāng)前標(biāo)記不可見,則此函數(shù)會觸發(fā)
          GMarker.visibilitychanged 事件。(自 2.77 開始)


                17.isHidden() Boolean 假如當(dāng)前標(biāo)記不可見,則返回 true。否則,返回 false。(自 2.77 開始)




              示例:


                1.


                 var point = new GLatLng(pointx,pointy);


                 var icon = new GIcon();


                 icon.image =
          "http://labs.google.com/ridefinder/images/mm_20_red.png";


                 var myMarker = new GMarker(point, icon);


                 alert(myMarker.getIcon().image);


                2.


                 var point = new GLatLng(pointx,pointy);


                 var myMarker = new GMarker(point,{draggable:true});//可拖拽的標(biāo)記


                 alert(myMarker.getPoint());


                              


            4.GPolyline類


               構(gòu)造函數(shù)


                GPolyline(latlngs, color?, weight?, opacity?, opts?) 根據(jù)頂點(diǎn)數(shù)組創(chuàng)建折線。color
          是一個字符串,包含十六進(jìn)制數(shù)字、HTML 樣式的顏色,即 #RRGGBB。weight 是以像素表示的線寬度。 opacity 為 0 到 1
          之間的數(shù)字。該線條是消除鋸齒且半透明的。


              GPolyline包含的方法


                 1.getVertexCount() Number 返回折線的頂點(diǎn)數(shù)目。(自 2.46 開始)


                 2.getVertex(index) GLatLng 返回折線中給定索引值對應(yīng)的頂點(diǎn)。(自 2.46 開始)


                 3.getLength() Number 返回沿地球表面的折線長度(以米表示)。(自 2.85 開始)


                 4.getBounds() GLatLngBounds 返回此折線的邊界。(自 2.85 開始)


                 5.hide() none 假如當(dāng)前折線可見并且 GPolyline.supportsHide() 返回
          true,則隱藏此線。注:假如當(dāng)前折線可見,則此函數(shù)會觸發(fā) GPolyline.visibilitychanged 事件(自 2.87 開始)


                 6.isHidden() Boolean 假如當(dāng)前折線不可見,則返回 true。否則,返回 false。(自 2.87 開始)


                 7.show() none 假如當(dāng)前折線不可見,則顯示該線。注:假如當(dāng)前折線不可見,則此函數(shù)會觸發(fā)
          GPolyline.visibilitychanged 事件。(自 2.87 開始)


                 8.supportsHide() Boolean 假如當(dāng)前環(huán)境下支持 GPolyline 對象的 GPolyline.hide(),則返回
          true。否則,返回 false。(自 2.87 開始)


                
          注:假如您想在地圖里面顯示折線,您需要在您的XHTML文檔里面包含VML命名空間和一些CSS代碼,這樣可以令它們在IE下面可以正常工作。XHTM文檔的開頭看起來就像這



          樣:



                 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


                  <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:v="urn:schemas-microsoft-com:vml">


                   <head>


                     <meta http-equiv="content-type" content="text/html;
          charset=UTF-8"/>


                     <title>My Google Maps Hack</title>


                       <style type="text/css">v\:*
          {behavior:url(#default#VML);}


                        </style>


                     <script
          src="http://maps.google.com/maps?file=api&v=2&key=abcdefg"
          type="text/javascript"></script>


                    </head>


            5.GLatLng類


                構(gòu)造函數(shù):


                  GLatLng(lat, lng, unbounded?) 注重緯度和經(jīng)度的順序。假如 unbounded 標(biāo)記為
          true,則表示數(shù)字以原始輸入狀態(tài)使用,否則緯度將在 -90 度到 +90 度之間,而經(jīng)度在 -180 度和 +180 度之間周而復(fù)始。


                 GlatLng包含的方法:


                lat() Number 返回以度數(shù)表示的緯度坐標(biāo)(-90 到 +90 之間的數(shù)值)。假如在構(gòu)造函數(shù)中設(shè)置了 unbounded
          標(biāo)記,則緯度坐標(biāo)值可能超出此范圍。


                lng() Number 返回以度數(shù)表示的經(jīng)度坐標(biāo)(-180 到 +180 之間的數(shù)值)。假如在構(gòu)造函數(shù)中設(shè)置了 unbounded
          標(biāo)記,則經(jīng)度坐標(biāo)值可能超出此范圍。


           


             6. GPoint類


                GPoint 是以像素坐標(biāo)表示的地圖上的一點(diǎn)。注重:在 v2 中,它不再是以地理坐標(biāo)表示的地面上的一個點(diǎn)。現(xiàn)在,地理坐標(biāo)可以用 GLatLng
          表示。


               在地圖坐標(biāo)系統(tǒng)中,x 坐標(biāo)向右增大,y 坐標(biāo)向下增大。


               注重:GPoint 的兩個參數(shù)同 x 和 y 屬性一樣可訪問,但最好不要修改它們,而是在創(chuàng)建新對象時使用不同的參數(shù)。


           


              7. GEvent命名空間


               此命名空間包含的函數(shù)可用于注冊事件處理程序(既處理自定義事件也處理 DOM 事件)和觸發(fā)自定義事件。此 API 定義的所有事件都是由
          GEvent.trigger() 內(nèi)部觸發(fā)的自定義事件。


                 addListener(source, event, handler) 返回GEventListener
          為源對象的自定義事件注冊事件處理程序。返回一個可用于最終注銷處理程序的句柄。事件觸發(fā)時,this 將被設(shè)置為源對象,同時調(diào)用事件處理程序。


                 addDomListener(source, event, handler) 返回GEventListener 為源對象的 DOM
          事件注冊事件處理程序。源對象必須為 DOM 節(jié)點(diǎn)。返回一個可用于最終注銷處理程序的



                  句柄  。事件觸發(fā)時,this 被設(shè)置為源對象,同時調(diào)用事件處理程序。此函數(shù)將 DOM 方法用于當(dāng)前瀏覽器,來注冊事件處理程序。


                 removeListener(handle)刪除使用 addListener() 或 addDomListener()
          安裝的處理程序。


                 clearListeners(source, event)刪除使用 addListener() 或 addDomListener()
          為給定事件在給定對象上安裝的所有處理程序。


                 clearInstanceListeners(source)刪除使用 addListener() 或 addDomListener()
          為所有事件在給定對象上安裝的所有處理程序。


                 trigger(source, event, ...)使源對象觸發(fā)自定義事件。將 event
          后所有剩余的可選參數(shù)依次輸入給事件處理程序作為參數(shù)。


                 bind(source, event, object, method)返回GEventListener
          將給定對象的方法調(diào)用注冊為源對象自定義事件的處理程序。返回一個可用于最終注銷處理程序的句柄。


                 bindDom(source, event, object, method)返回 GEventListener
          將給定對象的方法調(diào)用注冊為源對象自定義事件的處理程序。返回一個可用于最終注銷處理程序的句柄。


                 callback(object, method) Function 返回在 object 上調(diào)用 method 的 closure。


                 callbackArgs(object, method, ...) Function 返回在 object 上調(diào)用 method
          的closure。調(diào)用返回的函數(shù)時,將 method 后面所有余下的可選參數(shù)依次輸入 method 作為參數(shù)。


             


              8.GClientGeocoder地址解析類:


               此類用于和 Google
          服務(wù)器建立直接通訊,以獲得用戶指定地址的地理位置信息。另外,地理解析器可維護(hù)自己的地址緩存,可以無需與服務(wù)器通訊而回答反復(fù)的查詢。注重:目前中國地圖地址解析器只支持市/縣/區(qū)級別的地址。


               getLatLng(address, callback) 給 Google 服務(wù)器發(fā)送請求,對指定的地址進(jìn)行地址解析。假如地址已成功定位,則用
          GLatLng 點(diǎn)調(diào)用用戶指定的回調(diào)函數(shù)。否則,向回調(diào)函數(shù)提供一個 null 點(diǎn)。假如地址不明確,則僅向回調(diào)函數(shù)傳送最匹配的點(diǎn)。(自 2.55 開始)


               getLocations(address, callback) 給 Google
          服務(wù)器發(fā)送請求,對指定的地址進(jìn)行地址解析。包含狀態(tài)代碼的答復(fù),假如答復(fù)成功,則向用戶指定的回調(diào)函數(shù)傳送一個或多個 Placemark 對象。與
          GClientGeocoder.getLatLng 方法不同,回調(diào)函數(shù)可以通過檢查 Status 字段的代碼值確定失敗原因。(自 2.55 開始)


              示例:     


               var map = new GMap2(document.getElementByIdx_x_x("map"));


               var geocoder = new GClientGeocoder();



               var address="五道口";


               geocoder.getLatLng(address,function(point) {     


               if (!point)


               {       


                 alert(address + " not found");      


               }


               else


               {       


                 map.setCenter(point, 13); 


                 var marker = new GMarker(point);       


                 map.addOverlay(marker);       


                 marker.openInfoWindowHtml(address);


                 alert(point);    


               }


             });


                


             三:下面是Google API自帶控件


             


                GLargeMapControl:放大縮小調(diào)節(jié)桿


                GMapTypeControl:地圖和衛(wèi)星圖片的切換功能


                GSmallMapControl:GLargeMapControl的精簡版 ,去掉了縮放的調(diào)節(jié)桿保留了縮放按鈕


                GSmallZoomControl:只包括縮放按鈕,去掉了GLargeMapControl里其他的所有控制


                GScaleControl:比例尺控件



              四:減少瀏覽器內(nèi)存泄露


               Google Maps API鼓舞使用閉包/Closures,Maps
          API的第二版引入一個GUnload()函數(shù),用于最大限度地消除可能引發(fā)內(nèi)存泄露的循環(huán)引用。您應(yīng)該在頁面的unload事件中調(diào)



          用GUnload()函數(shù)來降低您的應(yīng)用程序內(nèi)存泄露的風(fēng)險:<body
          onunload="GUnload()">這個函數(shù)確實可以消除Google地圖在Internet Explorer下的內(nèi)存泄露,但是假如您比較關(guān)心



          內(nèi)存消耗問題,您仍然應(yīng)該用Drip之類的工具測試您自己網(wǎng)站的內(nèi)存泄露情況。




              五:瀏覽器兼容性


               Google Maps
          API支持的瀏覽器種類與Google地圖網(wǎng)站相同。因為不同的應(yīng)用程序在碰到不兼容的瀏覽器的時候需要表現(xiàn)不同的行為,所以Maps API提供了一個全局方法
          (GBrowserIsCompatible())來檢查兼容性,但是,發(fā)現(xiàn)一個不兼容的瀏覽器時,它不會自動采取任何措施。
          http://maps.google.com/maps?file=api&v=2里面的腳本似乎可以在任何瀏覽器里面解析而不產(chǎn)生錯誤,所以您可以在檢查瀏覽器兼容性之前就包含腳本文件。


           


             六:相關(guān)資料的網(wǎng)址:


          http://code.google.com/intl/zh-CN/apis/maps/


          http://code.google.com/intl/zh-CN/apis/maps/documentation/javascript/v2/reference.html


          Google地圖API的同步中文文檔:http://www.codechina.org/doc/google/gmapapi/


          百度文庫:http://wenku.baidu.com/view/a2885c27a5e9856a561260b2.html


          csdn博客:http://blog.csdn.net/jiali765/archive/2010/03/03/5338265.aspx


          http://www.jbedu.com/study/jishuwenzhang/196.html

          posted on 2012-09-21 11:49 Mr.lu 閱讀(9661) 評論(1)  編輯  收藏

          評論

          # re: Google Map Api 谷歌地圖接口整理 2014-11-29 04:58 bxerp

          尋google 地圖二次開發(fā),請聯(lián)系QQ39770519  回復(fù)  更多評論   


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(2)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 新乡市| 视频| 偃师市| 教育| 饶平县| 榆林市| 石台县| 永丰县| 花垣县| SHOW| 渭源县| 涞水县| 贵港市| 九江市| 双鸭山市| 张家口市| 阜康市| 古丈县| 阿拉善右旗| 积石山| 枣阳市| 尖扎县| 东阳市| 安康市| 新建县| 白玉县| 容城县| 松江区| 确山县| 彭山县| 博湖县| 宁晋县| 张家港市| 常宁市| 晋宁县| 米易县| 县级市| 太康县| 阿拉善盟| 阿勒泰市| 米泉市|