2011-12-20 3 views
1

Google지도를 "지형보기"에 기본으로 포함시키고 위성보기 및 스트리트 뷰와 같은 다른 옵션을 사용하지 않도록 설정하는 방법을 알아 내려고합니다. 누구든지 올바른 방향으로 나를 가리킬 수 있습니까? 여기에 내 코드의 ...Google지도 지형보기 기본적으로

여기

는 현재 렌더링 방법은 다음과 같습니다 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)); 
     } 

    } 

답변

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를 지정해야합니다. –