2012-12-02 1 views
1

이 코드 조각은 Google Geomap API구글으로 GeoMap API 지역 변경 옵션의 onclick()는

<script type="text/javascript"> 
    google.setOnLoadCallback(drawMap); 
    function drawMap() { 
     var data = new google.visualization.DataTable(); 
     data.addColumn('string','iso'); //e.g.: mx 
     data.addColumn('number','population'); //e.g.: 114 
     data.addRows([["mx",114],["ec",14],["ve",28]]); 
     var options = { 
      region: '005', 
      width: '511px', 
      height: '280px', 
      showLegend: true 
     }; 
     var geomap = new google.visualization.GeoMap(document.getElementById('map')); 
     geomap.draw(data,options); 
    }; 
</script> 

기본적으로 005 (남미)입니다 선택 지역으로지도를 그립니다. 가가

가 어떻게 dinamically 이미 그려진지도의 지역을 변경할 수 있습니다 (유럽) - (중앙 아메리카)

  • 150 -

    • 013 : 다음은 사용 가능한 다른 지역입니까? 이런 식으로 뭔가 :

      <a href="javascript:void(null);" onclick="changeRegion(150);">Europe</a> 
      

      나는지도가 다시 그려되어야 할 것이다 것을 알고,하지만 난 종류의 지역 속성 수정 단계에 갇혀 있어요. 어떤 아이디어라도 도움이 될 것입니다. 감사!

  • 답변

    1

    이미 데이터가있는 경우 내 앱에서 사용하는 스 니펫을 제공합니다. 오랫동안 설명보다는 이해하기 쉽다. 희망이 도움이됩니다. 필자는 동일한 지역에 국가 별 숫자를 표시하고 싶었습니다.

    geomap = new google.visualization.GeoMap(document.getElementById('geo_chart')); 
    
    
         google.visualization.events.addListener(geomap, 'regionClick', 
          function(e) 
          { 
           var dataLocal = new google.visualization.DataTable(); 
           var grouped_cities; 
    
           if (e['region'] == "0") 
            return; 
    
           options['colors'] = [0xaacdf8, 0x164177]; //orange colors 
           options['dataMode'] = 'markers'; 
           options['region'] = e['region']; 
           options['showZoomOut'] = true; 
    
           if (previous_region != e['region']) 
           { 
            var indexes = dataFull.getFilteredRows([{column: 0, value: e['region']}]); 
    
            dataLocal.addRows(indexes.length); 
            dataLocal.addColumn('string', 'City'); 
            dataLocal.addColumn('number', 'Views'); 
    
            for (i=0; i<indexes.length; i++) 
            { 
             dataLocal.setValue(i, 0, dataFull.getValue(indexes[i], 2)); 
             dataLocal.setValue(i, 1, dataFull.getValue(indexes[i], 3)); 
            } 
    
    
            grouped_cities = google.visualization.data.group(dataLocal, [0],[{'column': 1, 'aggregation': google.visualization.data.sum, 'type': 'number'}]); 
            previous_region = e['region']; 
           } 
    
           geomap.draw(grouped_cities, options); 
           delete grouped_cities; 
           delete dataLocal; 
    
          } 
         );