Это код, который мой коллега написал, чтобы получить карту и работать. У меня есть несколько вопросов.
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 карты, загружает карту, но я бы не стал перезагружать карту каждый раз, когда нажимается кнопка.