javascript - 谷歌地图默认地形 View

标签 javascript google-maps-api-3

我正在尝试弄清楚如何让我的谷歌地图默认嵌入“地形 View ”并禁用其他选项,如卫星 View 和街景 View 。谁能指出我正确的方向?这是我的代码...

这是它当前的呈现方式: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));
        }

    }

最佳答案

您可以指定您的用户可以选择的 map 类型:

  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是默认 map 类型。

关于javascript - 谷歌地图默认地形 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8579778/

相关文章:

Javascript - 确定文件大小

google-maps-api-3 - Windows 应用商店应用程序上的 Google map (C#/XAML) - 无缩放缩放

jquery - 电话间隙 : Google Maps' SearchBox/Autocomplete NOT Working on iOS/Mobile

javascript - XUL 菜单列表,以编程方式打开

javascript - 使用knockout js用户登录后显示用户名

javascript - 谷歌地图图像在信息窗口中非常小

jquery - 谷歌地图信息窗口在 fancybox 中无法正确显示

javascript - 检测不提供回调的异步函数的执行结束

javascript - 如何使用 Protractor 从网格中获取列数据?

javascript - 根据 Ruby on Rails 中的另一个下拉菜单更改下拉菜单