2012-10-11 11 views
0

Google지도 FusionTablesLayer에서 영역의 경계를 표시하는 코드 스 니펫이 있습니다. 다각형이 표시되었지만 예상 스타일이 적용되지 않았습니다. 내 코드에 무슨 문제가 있습니까? 도와주세요. 정말 고마워. google.maps.FusionTablesLayer : 스타일이 적용되지 않았습니다.

var FT_TableID=420419; 
var ftoptions = { 
     suppressInfoWindows:true, 
     styles: [ 
      {polygonOptions: {fillColor:'#0040FF',fillOpacity:0.1,strokeColor:'#FF0000',strokeWeight:2,strokeOpacity:0.6}} 
     ]   
    }; 


var layer = new google.maps.FusionTablesLayer(FT_TableID,ftoptions); 
layer.setQuery('SELECT \'kml_4326\' FROM 420419 WHERE \'name_0\' = \'Vietnam\';'); 

layer.setMap(theMap); 

는 제안을 주셔서 감사합니다. 저의 경우를 더 자세히 설명해 드리겠습니다. 왜 그런 식으로 코드를 작성해야합니까? 데이터베이스의 각 영역에 대해 ftquery를 원시 형식 (SELECT ... FROM ...)로 저장하고 영역 경계를 그리기 위해로드했습니다. .

var ftoptions = {...}; 
var layer = new google.maps.FusionTablesLayer(tableid); 

//to load custom styles, but not work, same for setOptions or set('styles',styles); 
layer.setValues(ftoptions); 

var ftquery = '';//this is loaded from database 
layer.setQuery(ftquery); 
layer.setMap(theMap); 

제안을 시도했지만 다각형이 표시되지 않았습니다. 나는 어딘가 틀림에 틀림 없다. 추가 도움을 주셔서 감사합니다.

답변

1

"이전"스타일 구문을 사용하고 있습니다. FusionTablesLayer의 스타일을 지정하려면 documented syntax

var ftoptions = { 
     query: { 
      from: tableid, 
      select: 'kml_4326', 
      where: "name_0 = 'Vietnam'" 
     }, 
     suppressInfoWindows:true, 
     styles: [ 
      {polygonOptions: {fillColor:'#0040FF',fillOpacity:0.1,strokeColor:'#FF0000',strokeWeight:2,strokeOpacity:0.6 }} 
     ] 
    }; 

var layer = new google.maps.FusionTablesLayer(ftoptions); 
layer.setMap(theMap); 
을 사용해야합니다.
관련 문제