2012-03-06 107 views
0

這是我的同事爲了使地圖正常工作而編寫的代碼。我有幾個問題。使用API​​獲取谷歌地圖的地圖類型

function mapstart(maptype,streetview,fulladdress){ 
    streetdisplay = false; 
    $(function() { 
     addr = fulladdress; 
     bool = true; 
     $('#'+maptype).gmap3({ 
      action: 'getLatLng', 
      address: fulladdress, 
      callback: function(result){ 
       if (result){ 
        $(this).gmap3({action: 'setCenter', args:[ result[0].geometry.location ]}); 
        drawmap(maptype,streetview); 
       } else { 
        bool = false; 
        alert('Incorrect address so map cannot be drawn !'); 
       } 
      } 
     }); 
     $('#'+maptype).show().gmap3().css('border', '1px solid #000000'); 
    }); 
} 
function drawmap(temp,tempstreet){ 
    if(bool == true){ 
     $('#'+temp).gmap3({ 
      action: 'addMarker', 
      address: addr, 
      marker:{}, 
      map:{ 
       center: true, 
       zoom: 14, 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
      } 
     }); 
     $('#'+tempstreet).click(function(){ 
      countmap++; 
       if (countmap%2 == 0) 
        streetdisplay = false; 
       else 
        streetdisplay = true; 
      $('#'+temp).gmap3({ 
       action:'getStreetView', 
       callback:function(panorama){ 
        var visible = panorama.getVisible(); 
        if (visible) { 
         panorama.setVisible(false); 
        } else { 
         var map = $(this).gmap3('get'); 
         panorama.setPosition(map.getCenter()); 
         panorama.setPov({ 
          heading: 265, 
          zoom:1, 
          pitch:0 
         }); 
         panorama.setVisible(true); 
        } 
       } 
      }); 
     }); 
    } else { 
     $('#'+temp).gmap3; 
    } 
    $('#'+temp).show().gmap3().css('border', '1px solid #000000'); 
} 

其他地方的頁面上,我需要顯示的地圖種類是目前最多。有一個按鈕可以在路線圖和街景之間切換。另一件事是我們正在將地圖加載到默認應該隱藏的div中。但是當我們調用mapstart(params)時,它會顯示地圖。我們希望地圖加載並隱藏,然後在顯示該div並隱藏其他div時顯示。目前我擁有它,所以按下按鈕以顯示地圖div會加載地圖,但我寧願不在每次按下按鈕時重新加載地圖。

回答

1
+0

我知道的getMapTypeId()函數,但我還是不知道我怎麼會在這裏應用它。我在代碼中的任何地方都看不到任何特定的地圖對象。 :/我會再檢查一遍。 – Rob 2012-03-06 16:52:40

+0

查看上面的內容,如果沒有存儲名稱,gmap3的get-action會返回'google.maps.Map' – 2012-03-06 17:17:00

+0

好的,謝謝。它以任何方式顯示路線圖,然後我會看到發生了什麼。 – Rob 2012-03-06 17:30:00