2011-12-20 7 views
1

私は自分のGoogleマップをデフォルトで「地形ビュー」に埋め込み、衛星ビューやストリートビューなどの他のオプションを無効にする方法を見つけようとしています。誰かが私を正しい方向に向けることができますか? http://img842.imageshack.us/img842/7299/screenshot20111220at125.pngGoogleマップ地形のデフォルト設定では

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)); 
     } 

    } 

答えて

2

あなたはあなたのユーザーが選択できるマップタイプ、それらを指定することができます:ここに私のコードだ...ここ

は、それが現在のレンダリング方法です

mapTypeControlOptionsがタイプ制御オプションである
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); 

、デフォルトのマップタイプはmapTypeIdです。

+0

これはうまくいきました。これでUIの「TERRAIN」ビューのみが制限されます。唯一の問題は、ドキュメントの読み込み時にTERRAINビューに設定されていないことです。 – wwwroth

+0

これはうまくいきませんでした。 APIを見ていろいろなやり方でそれを試してみました。 – wwwroth

+0

私は、唯一のエラーは中央の属性にあったと思います。私はGoogleのサンプルからコピーしました。 latlngを指定する必要があります。 –

関連する問題