2017-07-13 11 views
0

地図上の各ポリゴンに塗りつぶしの色を割り当てようとしていますが、私はleaflet example for choroplethに従っています。この例では、geojsonファイルの適切性に基づいて色を生成しています。私はその適否を使用していない"density":94.65マップ上のポリゴンの塗りつぶし色の範囲を生成するにはどうすればよいですか?

// get color depending on population density value 
function getColor(d) { 
    return d > 1000 ? '#800026' : 
      d > 500 ? '#BD0026' : 
      d > 200 ? '#E31A1C' : 
      d > 100 ? '#FC4E2A' : 
      d > 50 ? '#FD8D3C' : 
      d > 20 ? '#FEB24C' : 
      d > 10 ? '#FED976' : 
         '#FFEDA0'; 
} 

function style(feature) { 
    return { 
     weight: 2, 
     opacity: 1, 
     color: 'white', 
     dashArray: '3', 
     fillOpacity: 0.7, 
     fillColor: getColor(feature.properties.density) 
    }; 
} 

、私がやりたいことは、おそらく各"properties":{"name":または"id":

これは私がしようとしていますものです使用して塗りつぶしの色を生成することです:

function style(feature) { 
    jQuery("svg path").each(function(){ 
     myColour = '#'+(0x1000000+(Math.random())*0xffffff).toString(16).substr(1,6) 
    }); 
    return { 
     weight: 2, 
     opacity: 1, 
     color: 'white', 
     dashArray: '3', 
     fillOpacity: 0.7, 
     fillColor: myColour 
    }; 
} 

var geojson = L.geoJson(statesData, { 
    style: style, 
}).addTo(map); 

Uncaught ReferenceError: myColour is not defined

答えて

0

解決済み:

function style(feature) { 
    return { 
     weight: 2, 
     opacity: 1, 
     color: 'white', 
     dashArray: '3', 
     fillOpacity: 0.7, 
     fillColor: '#'+(0x1000000+(Math.random())*0xffffff).toString(16).substr(1,6) 
    }; 
} 
関連する問題