Вы можете использовать метод setOptions
на объекте Карта , чтобы достичь желаемого:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">
</script>
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript">
$(document).ready(function() {
var mapOptions = {
zoom: 4,
center: new google.maps.LatLng(-33, 151),
mapTypeControl: true,
mapTypeControlOptions: {
style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
},
navigationControl: true,
navigationControlOptions: {
style: google.maps.NavigationControlStyle.SMALL
},
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
$('#link-drop-down').click(function() {
map.setOptions({
mapTypeControlOptions: {
style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
}
});
});
$('#link-hbar').click(function() {
map.setOptions({
mapTypeControlOptions: {
style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR
}
});
});
});
</script>
</head>
<body onload="initialize()">
<a id="link-drop-down" href="#">Change to Drop Down Menu</a>
<a id="link-hbar" href="#">Change to Horizontal Bar</a>
<div id="map_canvas" style="width:500px; height:500px"></div>
</body>
</html>