Java Blog for Alex Wan

          Let life be beautiful like summer flowers and death like autumn leaves.

          統(tǒng)計(jì)

          留言簿(10)

          BlogJava

          Blogs

          DIV+CSS

          JQuery相關(guān)

          友情鏈接

          常去的地方

          數(shù)據(jù)供應(yīng)

          閱讀排行榜

          評(píng)論排行榜

          [javascript]google map api 與jquery結(jié)合使用(2) --標(biāo)注,浮窗

          前一篇:[javascript]google map api 與jquery結(jié)合使用(1)


          打開信息浮窗
          修改javascript代碼:
          map.js
          $(document).ready(function()
          {
               
          if (GBrowserIsCompatible()) {
                   
          var map = new GMap2(document.getElementById("map"));
                  map.addControl(
          new GSmallMapControl());
                  map.addControl(
          new GMapTypeControl());
                  
          //開啟滾輪伸縮效果--鼠標(biāo)滾輪向前滾放大地圖,反之縮小
                  map.enableScrollWheelZoom();
                  map.setCenter(
          new GLatLng(36.94,106.08),4);
                  
          //打開信息浮窗--需要在設(shè)置地圖中心點(diǎn)后進(jìn)行
                  map.openInfoWindow(map.getCenter(),document.createTextNode("你好,中國(guó)"));
                  $(window).unload(
          function (){
                         $('.').unbind();
                         GUnload();
                     }
          );
               }
          else
               
          {
                   alert('你使用的瀏覽器不支持 Google Map
          !');    
               }

          }
          );

          在地圖的中央會(huì)顯示信息浮窗(相對(duì)粗糙)
          信息浮窗效果圖

          地圖標(biāo)注
          map.js
          $(document).ready(function()
          {
               
          if (GBrowserIsCompatible()) {
                   
          var map = new GMap2(document.getElementById("map"));
                  map.addControl(
          new GSmallMapControl());
                  map.addControl(
          new GMapTypeControl());
                  
          //開啟滾輪伸縮效果--鼠標(biāo)滾輪向前滾放大地圖,反之縮小
                  map.enableScrollWheelZoom();
                  map.setCenter(
          new GLatLng(36.94,106.08),4);
                  
          //在地圖上添加10個(gè)位置隨機(jī)的標(biāo)記
                  var bounds = map.getBounds();
                  
          var southWest = bounds.getSouthWest();
                  
          var northEast = bounds.getNorthEast();
                  
          var lngSpan = northEast.lng() - southWest.lng();
                  
          var latSpan = northEast.lat() - southWest.lat();
                  
          for (var i = 0; i < 10; i++{
                  
          var point = new GLatLng(southWest.lat() + latSpan * Math.random(),
                      southWest.lng() 
          + lngSpan * Math.random());
                      map.addOverlay(
          new GMarker(point));
                  }

                  
          //隨機(jī)取五個(gè)點(diǎn)連成折線,5個(gè)點(diǎn)按照經(jīng)度排序防止折線自身交叉.
                  var points = [];
                  
          for (var i = 0; i < 5; i++{
                      points.push(
          new GLatLng(southWest.lat() + latSpan * Math.random(),
                      southWest.lng() 
          + lngSpan * Math.random()));
                  }

                  points.sort(
          function(p1, p2) {
                  
          return p1.lng() - p2.lng();
                  }
          );
                  map.addOverlay(
          new GPolyline(points));
                  
                  
          //單擊事件句柄
                  GEvent.addListener(map, "click"function(marker, point) {
                  
          if (marker) {
                  map.removeOverlay(marker);
                  }
           else {
                  map.addOverlay(
          new GMarker(point));
                  }

                  }
          );
                  $(window).unload(
          function (){
                         $('.').unbind();
                         GUnload();
                     }
          );
               }
          else
               
          {
                   alert('你使用的瀏覽器不支持 Google Map
          !');    
               }

          }
          );

          此時(shí)可以在地圖中看到10個(gè)標(biāo)注和一條折線,由于是隨機(jī)生成的,所以位置不是固定。
          隨機(jī)的地圖標(biāo)注和折線效果圖

          在標(biāo)記上顯示信息浮窗

          map.js
          $(document).ready(function()
          {
               
          if (GBrowserIsCompatible()) {
                   
          var map = new GMap2(document.getElementById("map"));
                  map.addControl(
          new GSmallMapControl());
                  map.addControl(
          new GMapTypeControl());
                  
          //開啟滾輪伸縮效果--鼠標(biāo)滾輪向前滾放大地圖,反之縮小
                  map.enableScrollWheelZoom();
                  map.setCenter(
          new GLatLng(36.94,106.08),4);
                  
          //在指定點(diǎn)以指定標(biāo)簽創(chuàng)建標(biāo)記
                  function createMarker(point, number) {
                      
          var marker = new GMarker(point);
                      GEvent.addListener(marker, 
          "click"function() {
                  marker.openInfoWindowHtml(
          "Marker #<b>" + number + "</b>");
                  }
          );
                  
          return marker;
                  }

                  
                  
          //添加10個(gè)位置隨機(jī)的標(biāo)記
                  var bounds = map.getBounds();
                  
          var southWest = bounds.getSouthWest();
                  
          var northEast = bounds.getNorthEast();
                  
          var lngSpan = northEast.lng() - southWest.lng();
                  
          var latSpan = northEast.lat() - southWest.lat();
                  
          for (var i = 0; i < 10; i++{
                  
          var point = new GLatLng(southWest.lat() + latSpan * Math.random(),
                  southWest.lng() 
          + lngSpan * Math.random());
                  map.addOverlay(createMarker(point, i 
          + 1));
                  }

                  $(window).unload(
          function (){
                         $('.').unbind();
                         GUnload();
                     }
          );
               }
          else
               
          {
                   alert('你使用的瀏覽器不支持 Google Map
          !');    
               }

          }
          );

          在標(biāo)記上面顯示信息浮窗的效果

          分標(biāo)簽的信息浮窗

          map.js
          $(document).ready(function()
          {
               
          if (GBrowserIsCompatible()) {
                   
          var map = new GMap2(document.getElementById("map"));
                  map.addControl(
          new GSmallMapControl());
                  map.addControl(
          new GMapTypeControl());
                  
          //開啟滾輪伸縮效果--鼠標(biāo)滾輪向前滾放大地圖,反之縮小
                  map.enableScrollWheelZoom();
                  map.setCenter(
          new GLatLng(36.94,106.08),4);
                  
          //信息浮窗內(nèi)容
                  var infoTabs = [
                      
          new GInfoWindowTab("氣候""華北地區(qū)氣候不錯(cuò)"),
                      
          new GInfoWindowTab("天氣""冷空氣南下,可能降雪。")
                  ];
                  
          //在地圖的中心添加一個(gè)標(biāo)記并自動(dòng)打開其信息浮窗
                  var marker = new GMarker(map.getCenter());
                  GEvent.addListener(marker, 
          "click"function() {
                  marker.openInfoWindowTabsHtml(infoTabs);
                  }
          );
                  map.addOverlay(marker);
                  marker.openInfoWindowTabsHtml(infoTabs);
                  $(window).unload(
          function (){
                         $('.').unbind();
                         GUnload();
                     }
          );
               }
          else
               
          {
                   alert('你使用的瀏覽器不支持 Google Map
          !');    
               }

          }
          );

          此時(shí)的浮窗是分標(biāo)簽的
          分標(biāo)簽的信息浮窗

          后一篇:
          [javascript]google map api 與jquery結(jié)合使用(3) --圖標(biāo)樣式,使用xml和異步請(qǐng)求


          Let life be beautiful like summer flowers and death like autumn leaves.

          posted on 2008-11-17 00:07 Alexwan 閱讀(3527) 評(píng)論(0)  編輯  收藏 所屬分類: JavaScript

          主站蜘蛛池模板: 建阳市| 日喀则市| 五大连池市| 通化市| 浑源县| 民丰县| 元谋县| 巨鹿县| 大足县| 轮台县| 龙胜| 灵武市| 星座| 井陉县| 武强县| 福海县| 洛隆县| 琼海市| 洛川县| 宁乡县| 成都市| 金湖县| 化德县| 昭觉县| 尤溪县| 白沙| 铜梁县| 准格尔旗| 平罗县| 东乌珠穆沁旗| 桃源县| 阿克陶县| 惠州市| 鸡东县| 修文县| 贞丰县| 平凉市| 河曲县| 同江市| 偏关县| 中牟县|