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會加載地圖,但我寧願不在每次按下按鈕時重新加載地圖。
我知道的getMapTypeId()函數,但我還是不知道我怎麼會在這裏應用它。我在代碼中的任何地方都看不到任何特定的地圖對象。 :/我會再檢查一遍。 – Rob 2012-03-06 16:52:40
查看上面的內容,如果沒有存儲名稱,gmap3的get-action會返回'google.maps.Map' – 2012-03-06 17:17:00
好的,謝謝。它以任何方式顯示路線圖,然後我會看到發生了什麼。 – Rob 2012-03-06 17:30:00