2012-08-25 1 views
0

다섯 개의 퓨전 테이블 레이어와 하나의 퓨전 테이블 레이어의 다섯 가지 스타일의 한계로 인해 다음과 같이 시도해야합니다. 각각 하나는 두 가지 스타일을 사용하고 그 다음에는 내 목적대로 갈 수 있습니다 :지도에 10 가지 스타일을 보여줍니다.퓨전 테이블은 두 개의 레이어에 다른 스타일을 추가하면 두 레이어를 표시 할 수 없습니다

하지만 구현 한 후 첫 번째 융합 테이블 레이어 만 표시한다는 것을 알았습니다.

그런 다음 테스트 케이스를 작성하여 그 이유를 확인했습니다. 발견 된 부분 : 두 개의 레이어로 스타일을 설정하면 첫 번째 레이어 만 표시되고 두 번째 레이어는 사라집니다. 한 레이어의 스타일을 설정하면 잘 작동합니다.

아래 코드는 누군가 도와 드릴 수 있습니까? 이제는 하나의 레이어 만 표시됩니다. 스타일 설정이나 그 중 하나의 스타일 설정에 주석을 달면 두 레이어를 모두 표시 할 수 있습니다.

미리 감사드립니다.

<!DOCTYPE html> 
<html> 
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<style type="text/css"> 
html { height: 100% } 
body { height: 100%; margin: 0px; padding: 0px } 
#top-box {padding: 10px; background-color:#336699;} 
.para-line {font-weight:bold;} 
#map_canvas { height: 100% } 
</style> 
<script type="text/javascript"src="http://maps.google.com/maps/api/js?sensor=false"></script> 

<script type="text/javascript"> 

    var map; 

    function initialize() { 
     map = new google.maps.Map(document.getElementById("map_canvas")); 
     map.setMapTypeId('roadmap'); 
     map.setCenter(new google.maps.LatLng(38.4985464, -98.3834298)); 
     map.setZoom(4); 

     var tableid1 = 4436842; 

     var style = [{ 
      where: "State in('IL','PA')", 
      polygonOptions: 
      { 
       fillColor: "#rrggbb", 
       fillOpacity: 0.7 
      } 
     },{ 
      where: "State in('AL')", 
      polygonOptions: 
      { 
       fillColor: "#006400", 
       fillOpacity: 0.7 
      } 
     } 
     ]; 

     var query1 = { 
      select: ['geometry','name'], 
      from: tableid1, 
      where: "State in('IL','PA')" 
     } 

     var query2 = { 
       select: ['geometry','name'], 
       from: tableid1, 
       where: "State in('AL')" 
      } 

     var layer1 = new google.maps.FusionTablesLayer({ 
      query:query1, 
      styles: style, 
      suppressInfoWindows: false, 
      clickable:true 
     }); 

     layer1.setMap(map); 

     var layer2 = new google.maps.FusionTablesLayer({ 
      query:query2, 
      styles:style, 
      suppressInfoWindows: false, 
      clickable:true 
     }); 
     layer2.setMap(map); 

     return; 

    } 
</script> 
</head> 
<body onload="initialize()">  
<div id="map_canvas" style="width:100%; height:100%"></div> 
</body> 
</html> 

답변

1

한계가 (인 documentation는 "당신은 최대 5 개의 스타일 규칙으로 스타일을 지정할 수있는 하나의지도에 다섯 개 퓨전 테이블 레이어를 추가 할지도 API를 무료로 사용할 수 있습니다."에서

FusionTable 사용자 인터페이스를 사용하여 레이어의 스타일을 지정할 수 있지만 하나만 스타일을 동적으로 지정할 수 있으며 5 가지 스타일 규칙 만 사용할 수 있습니다.

+0

알았어. – yonghua