Google Map
技術文檔


1. 申請Key

使用google map首先要申請一個key,這個key是根據域名生成的,所以不同域名是不能用同一個key的。申請后,要用js引進你google map 給的接口.

例如:

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


   
申請key地址:        http://code.google.com/intl/zh-CN/apis/maps/signup.html


2. 創建地圖

GMap2(container, opts?)


  container,
就是我們要把map嵌入到哪個容器中,一般放入層中,opts可選參數,例如容器的大小 new GSize(width, height);

 
一般來說,我們新建個地圖通常如下所示:

var gmap = new GMap2(document.getElementById("map"));

  2.1 加載地圖

    bodyonload事件中加載,當然unload時不要忘記釋放了,這樣可防止內存溢出

 <body onload="initialize()" onunload="GUnload()">

 

  2.2初始化地圖  

   Map.setCenter(point,level)

Point指的是GPoint,可以標記一個經緯度的點

Level是指地圖顯示的明細度,level越大,顯示的地址越詳細

例如:

  map.setCenter(new GLatLng(39.917, 116.397), 14);

  2.3加入地圖控制器

   可以向GMap2中加入控制器,函數:addControl().

    例如:

   gmap.addControl(new  GLargeMapControl());

控制類型包括控制地圖level級別的和地圖類型的。

2.3.1 控制地圖級別的control

·         GLargeMapControl一個大的控制地圖明細級別的控制器,可以定位level級別和移動地圖方位.

·         GSmallMapControl一個小的控制地圖明細級別的控制器,可以放大縮小也可以移動方位,但不能指定level級別,只能一級一級增加級別或者減少級別

·         GSmallZoomControl可以控制地圖詳細級別,但只能一級一級改變

·         GScaleControl可以顯示出地圖的比例

·         GMapTypeControl可以控制地圖類型

·         GHierarchicalMapTypeControl - 可以給地圖類型指定下拉菜單.

·         GOverviewMapControl可折疊的縮小圈

2.4 加載地圖類型

 

2.4.1 地圖類型

·         G_NORMAL_MAP顯示默認地圖

·         G_SATELLITE_MAP顯示衛星地圖

·         G_HYBRID_MAP  顯示混合地圖

·         G_PHYSICAL_MAP- 顯示地形地圖

Ps: 所介紹的Cotrol 都是引用map.google.com,若在ditu.google.comditu.google.cn無效,可能還未得到支持。


      2.4.2
加載地圖類型

gmap.addMapType(G_PHYSICAL_MAP);


    2.4.3
加載地圖的默認類型

gmap.setMapType(G_PHYSICAL_MAP);

 

     
   3.
創建經緯度

        New GLatLng(lat,lng);

 例如:

var myGeographicCoordinates = new GLatLng(myLatitude, myLongitude)

 
  
 4. 創建marker
    
      marker
是用來標記在地圖上的。函數GMarker(new Gpoint(lat,lng));

var marker = new GMarker(point);//創建marker


   
信息窗口
  

  openInfoWindow(Gpoint,document.createTextNode(text));

  openInfoWindowHtml(Gpoint,document.createTextNode(text));


  監聽事件
  
   GEvent.addListener(
響應的容器,響應的事件,函數)

   
例如:

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

      marker.openInfoWindowHtml(''hello"); 

     }); 


        
ps:
官方文檔 http://code.google.com/intl/zh-CN/apis/maps/documentation/events.html