1
我想弄清楚如何讓我的谷歌地圖嵌入默認爲「地形視圖」,並禁用其他選項,如衛星視圖和街景。任何人都可以將我指向正確的方向嗎?這裏是我的代碼...谷歌地圖地形按默認設置查看
下面是它目前是如何呈現: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));
}
}
這工作得很好。現在它僅限制UI上的「TERRAIN」視圖。唯一的問題是它沒有設置到文檔加載的TERRAIN視圖。 – wwwroth 2011-12-20 19:08:56
這似乎不起作用。在爲它查看API後,嘗試以各種方式玩弄它。 – wwwroth 2011-12-22 20:33:32
我認爲,唯一的錯誤是在中心屬性。我是從谷歌樣本複製的。你必須指定一個latlng。 – 2011-12-22 21:14:10