2012-02-11 1 views
0

퓨전 레이어 스타일링 문제가 발생했습니다. 실제로는 도움을 주시면 감사하겠습니다. 나는지도 API가 포함 된 FusionTableLayer의 동적 스타일링

layer.set('styles', [{ 
       polygonOptions: { 
         fillColor: '#FFFFFF', 
         fillOpacity: 1, 
         strokeColor: '#000000', 
         strokeWeight: 1 
       } 
     }]); 

이 잘 작동으로 정의 된 기본 스타일에 레이어를 추가합니다. 그런 다음이 레이어에 클릭 리스너가 설정됩니다. 이야기는 다음과 같이 진행됩니다. 사용자가지도에서 지형지 물을 클릭합니다. 그 속성이 주어진 값 (예를 들면, 형태)과 같으면,이 기능이 다른 것보다 다른 fillColor를 얻길 바란다.

google.maps.event.addListener(okresy,'click', function(ev) { 
       nazev = ev.row.NAZEV.value; 
         layer.set("styles", [{ 
           polygonOptions: { 
             fillColor: '#FFFFFF', 
             fillOpacity: 1, 
             strokeColor: '#000000', 
             strokeWeight: 1 
           }, 
           where: "'NAZEV' = '"+nazev+"'", 
           polygonOptions : { 
             fillColor : '#008C00', 
             fillOpacity : 1, 
             strokeColor : '#000000', 
             strokeWeight : 1 
           } 
         }]); 

}); 

그래서 내가 기능에 색상 # 008C00를 설정하는 것입니다 않는 것을 클릭하고 다른 모든 기능에 나는 처음과 같은 스타일을 지정합니다. 그러나 내가하는 일이든, 제대로 작동하게 할 수는 없습니다. 일부 기능이 일 때 나머지 기능 은 기본 반투명 빨간색을 표시합니다. 내가 놓친 게 있니? Opera Dragonfly는 코드 실수를보고하지 않으므로 구문이 좋다고 가정합니다.

+0

전체 페이지가 호스팅되어 있으므로 시도하고 디버그 할 수 있습니까? 아니면 jsFiddle을 사용할 수 있습니까? –

+0

http://jsfiddle.net/9Rayd/3/에 코드를 업로드했습니다. 그것이 작동하기를 바라고, 결코 전에 그것을 사용하지 마십시오. –

답변

2

하, 문제가 해결되었습니다. 실제로 다음과 같은 내용이 필요했습니다.

okresy.set("styles", [{ 
     polygonOptions: { 
      fillColor: '#FFFFFF', 
      fillOpacity: 1, 
      strokeColor: '#000000', 
      strokeWeight: 1 }}, 
     {where: "'NAZEV' = '"+nazev+"'", 
     polygonOptions : { 
      fillColor : '#008C00', 
      fillOpacity : 1, 
      strokeColor : '#000000', 
      strokeWeight : 1 
     }} 
]); 

디버거에서 오류를보고하지 않았기 때문에 혼란 스러웠습니다.