posts - 310, comments - 6939, trackbacks - 0, articles - 3
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          今天介紹大家如何結合Widget與Google Maps JavaScript API V3

          首先可以到下列網址,去了解一下目 前最新版的Google Maps V3
          http://code.google.com/intl/zh-TW/apis/maps/documentation/v3/

          有 玩過google map的人一定有玩過用地址,來查地圖這個功能

          這個範例主要就是利用Widget載入Google map,然後可以做簡單的地址查詢功能

          直接看範例

          <html>
          <head>
              
          <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />

              
          <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

          </head>
          <body style="padding: 0px; margin: 0px">
              
          <div id="map_canvas" style="width: 100%; height: 100%; display: block">
              
          </div>
              
          <div id="map_search" style="width: 100%; height: 100%; display: none">
                  
          <input id="address" type="text" value="" />
                  
          <input type="button" value="Geocode" onclick="Search()" />
                  
          <input type="button" value="Back to map" onclick="ChangeMap()" />
              
          </div>
          </body>
          </html>

          <script type="text/javascript">
              
          //載入地圖 sample code
              //參考:http://code.google.com/intl/zh-TW/apis/maps/documentation/v3/examples/map-simple.html
              var latlng = new google.maps.LatLng(-34.397150.644);
              
          var myOptions = {
                  zoom: 
          8,
                  center: latlng,
                  navigationControl: 
          true,
                  mapTypeControl: 
          false,
                  scaleControl: 
          false,
                  mapTypeId: google.maps.MapTypeId.ROADMAP
              };
              
          var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
              
          var geocoder = new google.maps.Geocoder();
          </script>

          <script type="text/javascript">

              
          function SetMapType(type) {
                  
          //改變MapType
                  map.set_mapTypeId(type);
                  ChangeMap();
              }

              
          function ChangeMap() {
                  
          //切換到Map模式
                  map_canvas.style.display = "block";
                  map_search.style.display 
          = "none";
              }

              
          function ChangeSearch() {
                  
          //切換到Search模式
                  map_canvas.style.display = "none";
                  map_search.style.display 
          = "block";
              }

          </script>


          <script type="text/javascript">

              
          //地址搜索 sample code
              //參考:http://code.google.com/intl/zh-TW/apis/maps/documentation/v3/examples/geocoding-simple.html
              function Search() {
                  ChangeMap();
                  
          var address = document.getElementById("address").value;
                  
          if (geocoder) {
                      geocoder.geocode({ 'address': address }, 
          function(results, status) {
                          
          if (status == google.maps.GeocoderStatus.OK) {
                              
          if (status != google.maps.GeocoderStatus.ZERO_RESULTS) {
                                  map.set_center(results[
          0].geometry.location);
                                  
          var marker = new google.maps.Marker({
                                      map: map,
                                      position: results[
          0].geometry.location
                                  });
                              } 
          else {
                                  alert(
          "No results found");
                              }
                          } 
          else {
                              alert(
          "Geocode was not successful for the following reason: " + status);
                          }
                      });
                  }
              }

          </script>

          <script type="text/javascript">

              
          ////////////建立第1層Menu///////////////

              
          var menuMapType = widget.menu.createMenuItem(1001);
              menuMapType.text 
          = "MapType";
              widget.menu.append(menuMapType);

              
          var menuSearch = widget.menu.createMenuItem(1002);
              menuSearch.onSelect 
          = function() { SetMapType(google.maps.MapTypeId.SATELLITE) };
              menuSearch.text 
          = "Search";
              menuSearch.onSelect 
          = ChangeSearch;
              widget.menu.append(menuSearch);

              
          ////////////建立第2層Menu///////////////

              
          //建立一個ROADMAP的MenuItem
              var menuItem1 = widget.menu.createMenuItem(2001);
              menuItem1.text 
          = "ROADMAP";
              menuItem1.onSelect 
          = function() { SetMapType(google.maps.MapTypeId.ROADMAP) };
              menuMapType.append(menuItem1);

              
          //建立一個SATELLITE的MenuItem
              var menuItem2 = widget.menu.createMenuItem(2002);
              menuItem2.text 
          = "SATELLITE";
              menuItem2.onSelect 
          = function() { SetMapType(google.maps.MapTypeId.SATELLITE) };
              menuMapType.append(menuItem2);

              
          //建立一個HYBRID的MenuItem
              var menuItem3 = widget.menu.createMenuItem(2003);
              menuItem3.text 
          = "HYBRID";
              menuItem3.onSelect 
          = function() { SetMapType(google.maps.MapTypeId.HYBRID) };
              menuMapType.append(menuItem3);

              
          //建立一個TERRAIN的MenuItem
              var menuItem4 = widget.menu.createMenuItem(2004);
              menuItem4.text 
          = "TERRAIN";
              menuItem4.onSelect 
          = function() { SetMapType(google.maps.MapTypeId.TERRAIN) };
              menuMapType.append(menuItem4);
              
          </script>


          評論

          # re: [Mobile]Windows Mobile 6.5 Widget - Widget 結合 Google Maps JavaScript API V3  回復  更多評論   

          2010-05-21 20:54 by 美體內衣
          不錯的代碼!google map我以前也在項目中搞過一次。。

          不過現在都忘了。。呵呵

          # re: [Mobile]Windows Mobile 6.5 Widget - Widget 結合 Google Maps JavaScript API V3[未登錄]  回復  更多評論   

          2010-10-25 10:31 by zy
          set_center沒有這個函數,不知樓主實測過沒
          主站蜘蛛池模板: 五莲县| 合作市| 嘉定区| 黔东| 抚顺市| 庆城县| 恩平市| 灵丘县| 和平区| 永仁县| 蓬莱市| 平昌县| 兴城市| 大丰市| 永顺县| 江都市| 尚义县| 象山县| 太湖县| 肇州县| 大田县| 乌海市| 肥西县| 开原市| 肃南| 襄樊市| 阿尔山市| 鄯善县| 康定县| 白水县| 德钦县| 建平县| 全州县| 汪清县| 育儿| 丽水市| 湛江市| 陆良县| 松江区| 弋阳县| 宁津县|