我正在试图弄清楚如何将我的谷歌地图嵌入默认为“地形视图”并禁用其他选项,如卫星视图和街景视图。谁能指出我正确的方向?这是我的代码......
以下是目前呈现的方式:http://img842.imageshack.us/img842/7299/screenshot20111220at125.png
var map;
var middle_earth_MORADOR = new google.maps.LatLng(38, 0);
function initialize() {
// Define Styles
var styles = [
{
//featureType: "all", elementType: "all", stylers: [ { visibility: "on" }, { hue: "#e5f5fb" } ]
}
];
// Default map options
var mapOptions = {
zoom: 2,
center: middle_earth_MORADOR,
backgroundColor: "#000"
};
var locations = [
<?php foreach ($Projects as $Project) {
$oProjectPhotos = new clsProjectPhotos($Project['idProject']);
$photos = $oProjectPhotos->getProjectPhotos();
echo '["'.$Project["Name"].'", '.$Project["gmapslat"].', '.$Project["gmapslng"].', "'.$Project["CountryName"].'"],';
echo "\n";
echo "\t\t";
}
?>
];
map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions);
var styledMapOptions = {
map: map,
name: "map"
}
var build = new google.maps.StyledMapType(styles,styledMapOptions);
map.mapTypes.set('map', build);
map.setMapTypeId('map');
var infowindow = new google.maps.InfoWindow();
var marker, i;
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map
});
google.maps.event.addListener(marker, 'mouseover', (function(marker, i) {
return function() {
infowindow.setContent(
'<div>' + locations[i][0] + '</div>'+
'<div>' + locations[i][4] + '</div>'+
'<div>' + locations[i][5] + '</div>'+
'<div>' + locations[i][6] + '</div>'
);
infowindow.open(map, marker);
}
})(marker, i));
}
}
答案 0 :(得分:3)
您可以指定用户可以选择的地图类型:
var mapOptions = {
zoom: 12,
//center: brooklyn,
center: new google.maps.LatLng(-23.565, -46.6565),
mapTypeControlOptions: {
mapTypeIds: [google.maps.MapTypeId.TERRAIN]
},
mapTypeId: google.maps.MapTypeId.TERRAIN
};
map = new google.maps.Map(document.getElementById("map_canvas"),
mapOptions);
其中mapTypeControlOptions是类型控制选项,mapTypeId是默认地图类型。