用Ajax加載Google地圖並向地圖上添加標註信息

<script type="text/javascript">

  function hello(param){

                var xmlHttp;

    if(window.XMLHttpRequest) {                            //針對高版本瀏覽器

      xmlHttp = new XMLHttpRequest();                          

    } else if(window.ActiveXObject) {                      //針對IE5, IE6

                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

    }

                if(xmlHttp != null) {

                      xmlHttp.onreadystatechange = callback;

                      xmlHttp.open("GET", "/gmap/org?id="+param, true);

                      xmlHttp.send();

           }
     }
     function callback() {

    if(xmlHttp.readyState == 4){

             if(xmlHttp.status == 200){

                  var xmlDoc = xmlHttp.responseText;               //接收從服務器返回來的文本

                  var x = xmlDoc.substring(0,xmlDoc.indexOf(','));

                  var y = xmlDoc.substring(xmlDoc.indexOf(',')+1,xmlDoc.lastIndexOf(','));

                  var desc = xmlDoc.substring(xmlDoc.lastIndexOf(',')+1);

                  init(x,y,desc);

          }
          }      
     }

  function init(x,y,info) {

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

    map.addControl(new GScaleControl());                       //添加比例尺控件

    map.addControl(new GLargeMapControl());                 //添加縮放圖標控件

    map.addControl(new GMapTypeControl());                  //添加地圖類型選擇控件

    map.addMapType(G_PHYSICAL_MAP);                        //添加地形選項
                                                                                                                                           
         map.addControl(new GOverviewMapControl());            //添加縮略圖控件      
           map.enableDoubleClickZoom();                    //允許鼠標雙擊放大(左鍵)和縮小(右鍵)
           map.enableScrollWheelZoom();                                //允許鼠標滾輪放大和縮小
           map.enableContinuousZoom();                                                        

           map.setCenter(new GLatLng(x,y), 11);     //設置地圖中心的經緯度和放大係數

    if(info != null) {                                                                                

         var point = new GLatLng(x,y);                 //根據指定的經緯度創建一個點     

           map.addOverlay(createMarker(point, info));        //將指定的點添加到地圖上           }

           //在指定的點上創建標註信息

           function createMarker(point, info) {

          var marker = new GMarker(point);

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

                     marker.openInfoWindowHtml("<b>" + info + "</b>");

                 });

                 return marker;

           }

  }

---------------------------------連接幾點畫線(Begin) -----------------------------------  

   var polyline=new GPolyline([new GLatLng(39.1005756949016, 117.08194255828857),

                            new GLatLng(39.1105756949017, 117.09194255828857),

                            new GLatLng(39.1205756949018, 117.08194255828857)],"red",8); 

   map.addOverlay(polyline);

-------------------------------地圖上畫行車路線和步行路線-----------------------------  

function find(start, end, map) {

    directionsPanel = document.getElementById("route");

    directions = new GDirections(map, directionsPanel);

    //駕車       travelMode : G_TRAVEL_MODE_DRIVING

    //步行       travelMode : G_TRAVEL_MODE_WALKING

      directions.load("from:" + start + "to:" + end,  {travelMode :   G_TRAVEL_MODE_DRIVING});      

}  

    //調用函數     start--始發地    end--目的地     map--地圖實例

  find(new GLatLng(38.11057, 117.09194),  new GLatLng(39.12057, 116.08194),  map);

</script>

-----------------------------調用init函數加載Google earth---------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

//xmlns正確顯示地圖中的折線
<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>系統</title>

    <script src="http://maps.google.com/maps?

file=api&amp;v=2&amp;sensor=false&amp;key=ABQIAAAAMUka8spLpXK6MnIMWJ1xQRTJQa0g3IQ9GZqIMmInSLzwtGDKaBR9PZj4yw8eE_JLKfTCiOjK2pRwUA"

type="text/javascript"></script>

</head>

      <!--太原市的經緯度-->

     <body οnlοad="init(37.86667,112.53333,null)" οnunlοad="GUnload()">             

           <div style="width:700px; height:500px;" id="map"></div>

          //route層對應find函數中的directionsPanel,用於顯示具體行走路線

          <div id="route"></div>       

  </body>

</html>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章